|
@@ -2,21 +2,34 @@
|
|
#include <string.h>
|
|
#include <string.h>
|
|
#include <stdlib.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)
|
|
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;
|
|
}
|
|
}
|