Deleted Added
full compact
lmonetary.c (72283) lmonetary.c (72321)
1/*
2 * Copyright (c) 2000, 2001 Alexey Zelkin
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*
2 * Copyright (c) 2000, 2001 Alexey Zelkin
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/lib/libc/locale/lmonetary.c 72283 2001-02-10 03:31:23Z ache $
26 * $FreeBSD: head/lib/libc/locale/lmonetary.c 72321 2001-02-10 15:36:46Z phantom $
27 */
28
27 */
28
29#include <limits.h>
29#include "lmonetary.h"
30#include "ldpart.h"
31
32extern int __mlocale_changed;
30#include "lmonetary.h"
31#include "ldpart.h"
32
33extern int __mlocale_changed;
34extern const char * __fix_locale_grouping_str(const char *);
33
34#define LCMONETARY_SIZE (sizeof(struct lc_monetary_T) / sizeof(char *))
35
36static char empty[] = "";
35
36#define LCMONETARY_SIZE (sizeof(struct lc_monetary_T) / sizeof(char *))
37
38static char empty[] = "";
37static char numempty[] = "-1";
39static char numempty[] = { CHAR_MAX, '\0'};
38
39static const struct lc_monetary_T _C_monetary_locale = {
40 empty , /* int_curr_symbol */
41 empty , /* currency_symbol */
42 "." , /* mon_decimal_point */
43 empty , /* mon_thousands_sep */
44 numempty , /* mon_grouping */
45 empty , /* positive_sign */

--- 11 unchanged lines hidden (view full) ---

57static struct lc_monetary_T _monetary_locale;
58static int _monetary_using_locale;
59static char * monetary_locale_buf;
60
61int
62__monetary_load_locale(const char *name) {
63
64 int ret;
40
41static const struct lc_monetary_T _C_monetary_locale = {
42 empty , /* int_curr_symbol */
43 empty , /* currency_symbol */
44 "." , /* mon_decimal_point */
45 empty , /* mon_thousands_sep */
46 numempty , /* mon_grouping */
47 empty , /* positive_sign */

--- 11 unchanged lines hidden (view full) ---

59static struct lc_monetary_T _monetary_locale;
60static int _monetary_using_locale;
61static char * monetary_locale_buf;
62
63int
64__monetary_load_locale(const char *name) {
65
66 int ret;
67 __mlocale_changed = 1;
65 ret = __part_load_locale(name, &_monetary_using_locale,
66 monetary_locale_buf, "LC_MONETARY", LCMONETARY_SIZE,
67 (const char **)&_monetary_locale);
68 if (!ret)
68 ret = __part_load_locale(name, &_monetary_using_locale,
69 monetary_locale_buf, "LC_MONETARY", LCMONETARY_SIZE,
70 (const char **)&_monetary_locale);
71 if (!ret)
69 __mlocale_changed = 1;
72 _monetary_locale.mon_grouping =
73 __fix_locale_grouping_str(_monetary_locale.mon_grouping);
70 return ret;
71}
72
73struct lc_monetary_T *
74__get_current_monetary_locale(void) {
75
76 return (_monetary_using_locale
77 ? &_monetary_locale

--- 39 unchanged lines hidden ---
74 return ret;
75}
76
77struct lc_monetary_T *
78__get_current_monetary_locale(void) {
79
80 return (_monetary_using_locale
81 ? &_monetary_locale

--- 39 unchanged lines hidden ---