fix the type of CLOCKS_PER_SEC to match new clock_t type
[musl] / src / locale / localeconv.c
index d79d1c0..494cbcc 100644 (file)
@@ -2,21 +2,34 @@
 #include <string.h>
 #include <stdlib.h>
 
+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 = -1,
+       .frac_digits = -1,
+       .p_cs_precedes = -1,
+       .p_sep_by_space = -1,
+       .n_cs_precedes = -1,
+       .n_sep_by_space = -1,
+       .p_sign_posn = -1,
+       .n_sign_posn = -1,
+       .int_p_cs_precedes = -1,
+       .int_p_sep_by_space = -1,
+       .int_n_cs_precedes = -1,
+       .int_n_sep_by_space = -1,
+       .int_p_sign_posn = -1,
+       .int_n_sign_posn = -1,
+};
+
 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;
 }