X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Flocale%2Flocaleconv.c;h=4cbb9dc52d22dcaf0c64769c208133a38c07be34;hb=8d37958d58cf36f53d5fcc7a8aa6d633da6071b2;hp=d79d1c07d5923aaafd602732e4574e10e6818ea0;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/locale/localeconv.c b/src/locale/localeconv.c index d79d1c07..4cbb9dc5 100644 --- a/src/locale/localeconv.c +++ b/src/locale/localeconv.c @@ -1,22 +1,34 @@ #include -#include -#include +#include + +static const struct lconv posix_lconv = { + .decimal_point = ".", + .thousands_sep = "", + .grouping = "", + .int_curr_symbol = "", + .currency_symbol = "", + .mon_decimal_point = "", + .mon_thousands_sep = "", + .mon_grouping = "", + .positive_sign = "", + .negative_sign = "", + .int_frac_digits = CHAR_MAX, + .frac_digits = CHAR_MAX, + .p_cs_precedes = CHAR_MAX, + .p_sep_by_space = CHAR_MAX, + .n_cs_precedes = CHAR_MAX, + .n_sep_by_space = CHAR_MAX, + .p_sign_posn = CHAR_MAX, + .n_sign_posn = CHAR_MAX, + .int_p_cs_precedes = CHAR_MAX, + .int_p_sep_by_space = CHAR_MAX, + .int_n_cs_precedes = CHAR_MAX, + .int_n_sep_by_space = CHAR_MAX, + .int_p_sign_posn = CHAR_MAX, + .int_n_sign_posn = CHAR_MAX, +}; struct lconv *localeconv(void) { - static struct lconv *posix_lconv; - if (posix_lconv) return posix_lconv; - posix_lconv = malloc(sizeof *posix_lconv); - memset(posix_lconv, -1, sizeof *posix_lconv); - posix_lconv->decimal_point = "."; - posix_lconv->thousands_sep = ""; - posix_lconv->grouping = "\xff"; - posix_lconv->int_curr_symbol = ""; //"\xc2\xa4"; - posix_lconv->currency_symbol = ""; - posix_lconv->mon_decimal_point = ""; - posix_lconv->mon_thousands_sep = ""; - posix_lconv->mon_grouping = "\xff"; - posix_lconv->positive_sign = ""; // "+"; - posix_lconv->negative_sign = ""; // "-"; - return posix_lconv; + return (void *)&posix_lconv; }