mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-18 14:30:43 +08:00
__printf_fphex always uses LC_NUMERIC
There is no hexadecimal currency printing. strfmon uses __printf_fp_l exclusively. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
parent
859e7a00af
commit
b094c52b1b
@ -103,9 +103,17 @@ __printf_fphex (FILE *fp,
|
||||
}
|
||||
fpnum;
|
||||
|
||||
/* Locale-dependent representation of decimal point. */
|
||||
const char *decimal;
|
||||
wchar_t decimalwc;
|
||||
/* This function always uses LC_NUMERIC. */
|
||||
assert (info->extra == 0);
|
||||
|
||||
/* Locale-dependent representation of decimal point. Hexadecimal
|
||||
formatting always using LC_NUMERIC (disregarding info->extra). */
|
||||
const char *decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT);
|
||||
wchar_t decimalwc = _NL_CURRENT_WORD (LC_NUMERIC,
|
||||
_NL_NUMERIC_DECIMAL_POINT_WC);
|
||||
|
||||
/* The decimal point character must never be zero. */
|
||||
assert (*decimal != '\0' && decimalwc != L'\0');
|
||||
|
||||
/* "NaN" or "Inf" for the special cases. */
|
||||
const char *special = NULL;
|
||||
@ -147,22 +155,6 @@ __printf_fphex (FILE *fp,
|
||||
/* Nonzero if this is output on a wide character stream. */
|
||||
int wide = info->wide;
|
||||
|
||||
|
||||
/* Figure out the decimal point character. */
|
||||
if (info->extra == 0)
|
||||
{
|
||||
decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT);
|
||||
decimalwc = _NL_CURRENT_WORD (LC_NUMERIC, _NL_NUMERIC_DECIMAL_POINT_WC);
|
||||
}
|
||||
else
|
||||
{
|
||||
decimal = _NL_CURRENT (LC_MONETARY, MON_DECIMAL_POINT);
|
||||
decimalwc = _NL_CURRENT_WORD (LC_MONETARY,
|
||||
_NL_MONETARY_DECIMAL_POINT_WC);
|
||||
}
|
||||
/* The decimal point character must never be zero. */
|
||||
assert (*decimal != '\0' && decimalwc != L'\0');
|
||||
|
||||
#define PRINTF_FPHEX_FETCH(FLOAT, VAR) \
|
||||
{ \
|
||||
(VAR) = *(const FLOAT *) args[0]; \
|
||||
|
Loading…
x
Reference in New Issue
Block a user