View | Details | Raw Unified | Return to bug 258360
Collapse All | Expand All

(-)b/lib/libc/locale/lmonetary.c (-2 / +2 lines)
Lines 107-114 monetary_load_locale_l(struct xlocale_monetary *loc, int *using_locale, Link Here
107
		&loc->buffer, "LC_MONETARY",
107
		&loc->buffer, "LC_MONETARY",
108
		LCMONETARY_SIZE_FULL, LCMONETARY_SIZE_MIN,
108
		LCMONETARY_SIZE_FULL, LCMONETARY_SIZE_MIN,
109
		(const char **)l);
109
		(const char **)l);
110
	if (ret != _LDP_ERROR)
111
		*changed = 1;
112
	if (ret == _LDP_LOADED) {
110
	if (ret == _LDP_LOADED) {
113
		l->mon_grouping =
111
		l->mon_grouping =
114
		     __fix_locale_grouping_str(l->mon_grouping);
112
		     __fix_locale_grouping_str(l->mon_grouping);
Lines 146-151 monetary_load_locale_l(struct xlocale_monetary *loc, int *using_locale, Link Here
146
		M_ASSIGN_ICHAR(p_sign_posn);
144
		M_ASSIGN_ICHAR(p_sign_posn);
147
		M_ASSIGN_ICHAR(n_sign_posn);
145
		M_ASSIGN_ICHAR(n_sign_posn);
148
	}
146
	}
147
	if (ret != _LDP_ERROR)
148
		atomic_store_rel_int(changed, 1);
149
	return (ret);
149
	return (ret);
150
}
150
}
151
int
151
int
(-)b/lib/libc/locale/lnumeric.c (-2 / +2 lines)
Lines 73-80 numeric_load_locale(struct xlocale_numeric *loc, int *using_locale, int *changed Link Here
73
		&loc->buffer, "LC_NUMERIC",
73
		&loc->buffer, "LC_NUMERIC",
74
		LCNUMERIC_SIZE, LCNUMERIC_SIZE,
74
		LCNUMERIC_SIZE, LCNUMERIC_SIZE,
75
		(const char**)l);
75
		(const char**)l);
76
	if (ret != _LDP_ERROR)
77
		*changed= 1;
78
	if (ret == _LDP_LOADED) {
76
	if (ret == _LDP_LOADED) {
79
		/* Can't be empty according to C99 */
77
		/* Can't be empty according to C99 */
80
		if (*l->decimal_point == '\0')
78
		if (*l->decimal_point == '\0')
Lines 83-88 numeric_load_locale(struct xlocale_numeric *loc, int *using_locale, int *changed Link Here
83
		l->grouping =
81
		l->grouping =
84
		    __fix_locale_grouping_str(l->grouping);
82
		    __fix_locale_grouping_str(l->grouping);
85
	}
83
	}
84
	if (ret != _LDP_ERROR)
85
		atomic_store_rel_int(changed, 1);
86
	return (ret);
86
	return (ret);
87
}
87
}
88
88
(-)b/lib/libc/locale/localeconv.c (-4 / +4 lines)
Lines 65-71 localeconv_l(locale_t loc) Link Here
65
	FIX_LOCALE(loc);
65
	FIX_LOCALE(loc);
66
    struct lconv *ret = &loc->lconv;
66
    struct lconv *ret = &loc->lconv;
67
67
68
    if (loc->monetary_locale_changed) {
68
    if (atomic_load_acq_int(&loc->monetary_locale_changed) != 0) {
69
	/* LC_MONETARY part */
69
	/* LC_MONETARY part */
70
        struct lc_monetary_T * mptr; 
70
        struct lc_monetary_T * mptr; 
71
71
Lines 94-103 localeconv_l(locale_t loc) Link Here
94
	M_ASSIGN_CHAR(int_n_sep_by_space);
94
	M_ASSIGN_CHAR(int_n_sep_by_space);
95
	M_ASSIGN_CHAR(int_p_sign_posn);
95
	M_ASSIGN_CHAR(int_p_sign_posn);
96
	M_ASSIGN_CHAR(int_n_sign_posn);
96
	M_ASSIGN_CHAR(int_n_sign_posn);
97
	loc->monetary_locale_changed = 0;
97
	atomic_store_int(&loc->monetary_locale_changed, 0);
98
    }
98
    }
99
99
100
    if (loc->numeric_locale_changed) {
100
    if (atomic_load_acq_int(&loc->numeric_locale_changed) != 0) {
101
	/* LC_NUMERIC part */
101
	/* LC_NUMERIC part */
102
        struct lc_numeric_T * nptr; 
102
        struct lc_numeric_T * nptr; 
103
103
Lines 107-113 localeconv_l(locale_t loc) Link Here
107
	N_ASSIGN_STR(decimal_point);
107
	N_ASSIGN_STR(decimal_point);
108
	N_ASSIGN_STR(thousands_sep);
108
	N_ASSIGN_STR(thousands_sep);
109
	N_ASSIGN_STR(grouping);
109
	N_ASSIGN_STR(grouping);
110
	loc->numeric_locale_changed = 0;
110
	atomic_store_int(&loc->numeric_locale_changed, 0);
111
    }
111
    }
112
112
113
    return ret;
113
    return ret;

Return to bug 258360