diff options
Diffstat (limited to 'winsup/cygwin/libc/strfmon.c')
-rw-r--r-- | winsup/cygwin/libc/strfmon.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/libc/strfmon.c b/winsup/cygwin/libc/strfmon.c index 2c2523ee8..ac23aa05b 100644 --- a/winsup/cygwin/libc/strfmon.c +++ b/winsup/cygwin/libc/strfmon.c @@ -413,12 +413,13 @@ __setup_vars(int flags, char *cs_precedes, char *sep_by_space, char *sign_posn, char **signstr) { struct lconv *lc = localeconv(); + static char negative[] = "-"; if ((flags & IS_NEGATIVE) && (flags & USE_INTL_CURRENCY)) { *cs_precedes = lc->int_n_cs_precedes; *sep_by_space = lc->int_n_sep_by_space; *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->int_n_sign_posn; - *signstr = (lc->negative_sign == '\0') ? "-" + *signstr = (lc->negative_sign == NULL) ? negative : lc->negative_sign; } else if (flags & USE_INTL_CURRENCY) { *cs_precedes = lc->int_p_cs_precedes; @@ -429,7 +430,7 @@ __setup_vars(int flags, char *cs_precedes, char *sep_by_space, *cs_precedes = lc->n_cs_precedes; *sep_by_space = lc->n_sep_by_space; *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->n_sign_posn; - *signstr = (lc->negative_sign == '\0') ? "-" + *signstr = (lc->negative_sign == NULL) ? negative : lc->negative_sign; } else { *cs_precedes = lc->p_cs_precedes; |