+2012-03-06 Marek Polacek <polacek@redhat.com>
+
+ [BZ #13726]
+ * sysdeps/ieee754/ldbl-96/printf_fphex.c: Adjust position of wnumstr.
+ * sysdeps/x86_64/fpu/printf_fphex.c: Likewise.
+ * stdio-common/Makefile (tests): Add tst-long-dbl-fphex.
+ * stdio-common/tst-long-dbl-fphex.c: New file.
+
2012-03-06 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140,
10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527,
13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
- 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13738,
- 13786, 13792
+ 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726,
+ 13738, 13786, 13792
* ISO C11 support:
tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
- bug-vfprintf-nargs
+ bug-vfprintf-nargs tst-long-dbl-fphex
test-srcs = tst-unbputc tst-printf
--- /dev/null
+/* This file is part of the GNU C Library.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ Contributed by Marek Polacek <polacek@redhat.com>, 2012.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <wchar.h>
+
+/* Prototype for our test function. */
+static int do_test (void);
+
+static int
+do_test (void)
+{
+ const long double x = 24.5;
+ wchar_t a[16 * sizeof (wchar_t)];
+ swprintf (a, 16 * sizeof (wchar_t), L"%La\n", x);
+ wchar_t A[16 * sizeof (wchar_t)];
+ swprintf (A, 16 * sizeof (wchar_t), L"%LA\n", x);
+
+ return (wmemcmp (a, L"0xc.4p+1", 8) != 0
+ || wmemcmp (A, L"0XC.4P+1", 8) != 0);
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
/* Print floating point number in hexadecimal notation according to ISO C99.
- Copyright (C) 1997, 1998, 1999, 2000, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
\
/* We use a full nibble for the leading digit. */ \
leading = *numstr++; \
+ wnumstr++; \
\
/* We have 3 bits from the mantissa in the leading nibble. \
Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \
/* Print floating point number in hexadecimal notation according to ISO C99.
- Copyright (C) 1997,1998,1999,2000,2001,2005 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
\
/* We use a full nibble for the leading digit. */ \
leading = *numstr++; \
+ wnumstr++; \
\
/* We have 3 bits from the mantissa in the leading nibble. \
Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \