[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r2061 - in glibc-package/trunk/debian: . patches patches/any



Author: aurel32
Date: 2007-04-14 15:25:37 +0000 (Sat, 14 Apr 2007)
New Revision: 2061

Added:
   glibc-package/trunk/debian/patches/any/cvs-printf_fp.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * patches/any/cvs-printf_fp.diff: new patch (fix exponent -4 special
    case handling when wcp == wstartp + 1) from CVS.  Closes: #419225.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2007-04-14 11:37:51 UTC (rev 2060)
+++ glibc-package/trunk/debian/changelog	2007-04-14 15:25:37 UTC (rev 2061)
@@ -28,8 +28,10 @@
   * debian/local/manpages/tzconfig.8: removed.
   * debian/sysdeps/depflags.pl: conflict with tzdata (<< 2007e-2). Older
     versions need tzconfig.
+  * patches/any/cvs-printf_fp.diff: new patch (fix exponent -4 special
+    case handling when wcp == wstartp + 1) from CVS.  Closes: #419225.
 
- -- Aurelien Jarno <aurel32@debian.org>  Sat, 14 Apr 2007 01:01:24 +0200
+ -- Aurelien Jarno <aurel32@debian.org>  Sat, 14 Apr 2007 17:23:17 +0200
 
 glibc (2.5-1) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/any/cvs-printf_fp.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/cvs-printf_fp.diff	2007-04-14 11:37:51 UTC (rev 2060)
+++ glibc-package/trunk/debian/patches/any/cvs-printf_fp.diff	2007-04-14 15:25:37 UTC (rev 2061)
@@ -0,0 +1,28 @@
+2007-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+        * stdio-common/printf_fp.c (___printf_fp): Fix exponent -4
+        special case handling when wcp == wstartp + 1.
+
+--- libc/stdio-common/printf_fp.c.jj    2007-02-26 18:13:47.000000000 +0100
++++ libc/stdio-common/printf_fp.c       2007-04-13 16:03:38.000000000 +0200
+@@ -1081,12 +1081,18 @@
+ 	    /* This is another special case.  The exponent of the number is
+ 	       really smaller than -4, which requires the 'e'/'E' format.
+ 	       But after rounding the number has an exponent of -4.  */
+-	    assert (wcp >= wstartp + 2);
++	    assert (wcp >= wstartp + 1);
+ 	    assert (wstartp[0] == L'1');
+ 	    __wmemcpy (wstartp, L"0.0001", 6);
+ 	    wstartp[1] = decimalwc;
+ 	    wmemset (wstartp + 6, L'0', wcp - (wstartp + 2));
+-	    wcp += 4;
++	    if (wcp >= wstartp + 2)
++	      {
++		wmemset (wstartp + 6, L'0', wcp - (wstartp + 2));
++		wcp += 4;
++	      }
++	    else
++	      wcp += 5;
+ 	  }
+ 	else
+ 	  {

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2007-04-14 11:37:51 UTC (rev 2060)
+++ glibc-package/trunk/debian/patches/series	2007-04-14 15:25:37 UTC (rev 2061)
@@ -101,6 +101,7 @@
 any/cvs-ftw-c.diff -p1
 any/cvs-itoa-c.diff -p1
 any/cvs-lt-update.diff -p0
+any/cvs-printf_fp.diff -p0
 any/cvs-zdump-64-bit.diff -p1
 any/local-notls.diff -p0
 any/local-asserth-decls.diff -p0



Reply to: