aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/generic/printf_fphex.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1709af54c8..2de263836d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-31 H.J. Lu <hjl@gnu.org>
+
+ * sysdeps/generic/printf_fphex.c (__printf_fphex): Correctly
+ handle the wchar_t array.
+
2000-07-31 Ulrich Drepper <drepper@redhat.com>
* iconvdata/gb18030.c: Don't map to and from positions in ISO
diff --git a/sysdeps/generic/printf_fphex.c b/sysdeps/generic/printf_fphex.c
index 2b10fa62ac..d4cba3f4e7 100644
--- a/sysdeps/generic/printf_fphex.c
+++ b/sysdeps/generic/printf_fphex.c
@@ -284,21 +284,21 @@ __printf_fphex (FILE *fp,
if (sizeof (unsigned long int) > 6)
{
- wnumstr = _itowa_word (num, wnumbuf + sizeof wnumbuf, 16,
+ wnumstr = _itowa_word (num, wnumbuf + (sizeof wnumbuf) / sizeof (wchar_t), 16,
info->spec == 'A');
numstr = _itoa_word (num, numbuf + sizeof numbuf, 16,
info->spec == 'A');
}
else
{
- wnumstr = _itowa (num, wnumbuf + sizeof wnumbuf, 16,
+ wnumstr = _itowa (num, wnumbuf + sizeof wnumbuf / sizeof (wchar_t), 16,
info->spec == 'A');
numstr = _itoa (num, numbuf + sizeof numbuf, 16,
info->spec == 'A');
}
/* Fill with zeroes. */
- while (wnumstr > wnumbuf + (sizeof wnumbuf - 52 / 4))
+ while (wnumstr > wnumbuf + (sizeof wnumbuf - 52) / sizeof (wchar_t))
{
*--wnumstr = L'0';
*--numstr = '0';