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

r5376 - in glibc-package/branches/eglibc-2.16/debian: . patches patches/any



Author: aurel32
Date: 2012-11-18 20:10:07 +0000 (Sun, 18 Nov 2012)
New Revision: 5376

Removed:
   glibc-package/branches/eglibc-2.16/debian/patches/any/cvs-vfprintf-binary.diff
Modified:
   glibc-package/branches/eglibc-2.16/debian/changelog
   glibc-package/branches/eglibc-2.16/debian/patches/series
Log:
Revert r5372, the commit is already present in the stable branch. Still keep
a changelog entry for closing the bug.


Modified: glibc-package/branches/eglibc-2.16/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/changelog	2012-11-18 18:51:57 UTC (rev 5375)
+++ glibc-package/branches/eglibc-2.16/debian/changelog	2012-11-18 20:10:07 UTC (rev 5376)
@@ -4,6 +4,7 @@
   * New upstream version.  Closes: #672934.
     - Provide a compatibility symbol for the old memcpy() behaviour.  Remove
       the memcpy-wrapper.  Closes: #625522.
+    - Fix printing of incomplete multibyte characters.  Closes: #208308.
     - Disable patches/svn-updates.diff.
     - Update patches/localedata/sort-UTF8-first.diff.
     - Update patches/localedata/supported.diff.
@@ -369,11 +370,6 @@
     have optimisations turned on.  This breaks some unclever AC macros.
   * Fix building x32 multilib libraries, by correctly passing -mx32.
   * Fix some ln calls in sysdeps/{amd64,i386} for binary-arch idempotence.
-
-  [ Jonathan Nieder ]
-  * patches/any/cvs-vfprintf-binary.diff: new patch from upstream to
-    print incomplete multibyte characters without complaint with %.<num>s.
-    Closes: #208308.
  
  -- Aurelien Jarno <aurel32@debian.org>  Wed, 25 Jul 2012 23:45:58 +0200
 

Deleted: glibc-package/branches/eglibc-2.16/debian/patches/any/cvs-vfprintf-binary.diff
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/any/cvs-vfprintf-binary.diff	2012-11-18 18:51:57 UTC (rev 5375)
+++ glibc-package/branches/eglibc-2.16/debian/patches/any/cvs-vfprintf-binary.diff	2012-11-18 20:10:07 UTC (rev 5376)
@@ -1,110 +0,0 @@
-2012-09-28  Andreas Schwab  <schwab@linux-m68k.org>
-
-	[BZ #6530]
-	* stdio-common/vfprintf.c (process_string_arg): Revert
-	2000-07-22 change.
-
-2011-09-28  Jonathan Nieder  <jrnieder@gmail.com>
-
-	* stdio-common/Makefile (tst-sprintf-ENV): Set environment
-	for testcase.
-	* stdio-common/tst-sprintf.c: Include <locale.h>
-	(main): Test sprintf's handling of incomplete multibyte
-	characters.
-
- stdio-common/Makefile      |  1 +
- stdio-common/tst-sprintf.c | 13 +++++++++++++
- stdio-common/vfprintf.c    | 39 +++------------------------------------
- 3 files changed, 17 insertions(+), 36 deletions(-)
-
-diff --git a/stdio-common/Makefile b/stdio-common/Makefile
-index 1431a211..5625bd3e 100644
---- a/stdio-common/Makefile
-+++ b/stdio-common/Makefile
-@@ -136,6 +136,7 @@ CFLAGS-scanf17.c = -I../libio -I../stdlib -I../wcsmbs -I../time -I../string \
- 
- # We know the test has a format string problem.
- CFLAGS-tst-sprintf.c = -Wno-format
-+tst-sprintf-ENV = LOCPATH=$(common-objpfx)localedata
- tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata
- tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata
- test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata
-diff --git a/stdio-common/tst-sprintf.c b/stdio-common/tst-sprintf.c
-index bfa79c9c..42159a26 100644
---- a/stdio-common/tst-sprintf.c
-+++ b/stdio-common/tst-sprintf.c
-@@ -1,5 +1,6 @@
- #include <stdio.h>
- #include <stdlib.h>
-+#include <locale.h>
- #include <string.h>
- #include <gnu/option-groups.h>
- 
-@@ -61,5 +62,17 @@ main (void)
-       result = 1;
-     }
- 
-+  if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
-+    {
-+      puts ("cannot set locale");
-+      result = 1;
-+    }
-+  else if (sprintf (buf, "%.8s\n", "Foo: \277") != 7
-+	   || strcmp (buf, "Foo: \277\n") != 0)
-+    {
-+      printf ("sprintf (buf, \"%%.8s\\n\", \"Foo: \\277\") produced '%s' output\n", buf);
-+      result = 1;
-+    }
-+
-   return result;
- }
-diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
-index 927c0c26..25a2c5dd 100644
---- a/stdio-common/vfprintf.c
-+++ b/stdio-common/vfprintf.c
-@@ -1180,42 +1180,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
- 	else if (!is_long && spec != L_('S'))				      \
- 	  {								      \
- 	    if (prec != -1)						      \
--	      {								      \
--		/* Search for the end of the string, but don't search past    \
--		   the length (in bytes) specified by the precision.  Also    \
--		   don't use incomplete characters.  */			      \
--		if (! LOCALE_SUPPORT                                          \
--                    ||_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX) == 1) \
--		  len = __strnlen (string, prec);			      \
--		else							      \
--		  {							      \
--		    /* In case we have a multibyte character set the	      \
--		       situation is more complicated.  We must not copy	      \
--		       bytes at the end which form an incomplete character. */\
--		    size_t ignore_size = (unsigned) prec > 1024 ? 1024 : prec;\
--		    wchar_t ignore[ignore_size];			      \
--		    const char *str2 = string;				      \
--		    const char *strend = string + prec;			      \
--		    if (strend < string)				      \
--		      strend = (const char *) UINTPTR_MAX;		      \
--									      \
--		    mbstate_t ps;					      \
--		    memset (&ps, '\0', sizeof (ps));			      \
--									      \
--		    while (str2 != NULL && str2 < strend)		      \
--		      if (__mbsnrtowcs (ignore, &str2, strend - str2,	      \
--					ignore_size, &ps) == (size_t) -1)     \
--			{						      \
--			  done = -1;					      \
--			  goto all_done;				      \
--			}						      \
--									      \
--		    if (str2 == NULL)					      \
--		      len = strlen (string);				      \
--		    else						      \
--		      len = str2 - string - (ps.__count & 7);		      \
--		  }							      \
--	      }								      \
-+	      /* Search for the end of the string, but don't search past      \
-+		 the length (in bytes) specified by the precision.  */	      \
-+	      len = __strnlen (string, prec);				      \
- 	    else							      \
- 	      len = strlen (string);					      \
- 	  }								      \

Modified: glibc-package/branches/eglibc-2.16/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/series	2012-11-18 18:51:57 UTC (rev 5375)
+++ glibc-package/branches/eglibc-2.16/debian/patches/series	2012-11-18 20:10:07 UTC (rev 5376)
@@ -231,4 +231,3 @@
 any/local-disable-libnss-db.diff
 any/local-sunrpc-dos.diff
 any/local-revert-bz13979.diff
-any/cvs-vfprintf-binary.diff


Reply to: