This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.14-555-ga2d18b6


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  a2d18b64edb486825fb5946eefc2131426ccfec9 (commit)
       via  df33a8fb1cc1ca9e085b92c1620f9346aef0c1c3 (commit)
       via  5b330a2d903b68cf6db64aac230bf64e18fa9624 (commit)
      from  caafb2b06bb5ae71e1de719292a0b8a233a21757 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a2d18b64edb486825fb5946eefc2131426ccfec9

commit a2d18b64edb486825fb5946eefc2131426ccfec9
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Sat Dec 17 14:27:26 2011 -0500

    WP cleanup

diff --git a/string/test-strcpy.c b/string/test-strcpy.c
index d6f4a0b..01a46de 100644
--- a/string/test-strcpy.c
+++ b/string/test-strcpy.c
@@ -142,17 +142,17 @@ static void
 do_random_tests (void)
 {
   size_t i, j, n, align1, align2, len;
-  
   UCHAR *p1 = (UCHAR *) (buf1 + page_size) - 512;
   UCHAR *p2 = (UCHAR *) (buf2 + page_size) - 512;
   UCHAR *res;
 
   for (n = 0; n < ITERATIONS; n++)
     {
-   /* For wcsrchr: align1 and align2 here mean align not in bytes, but in wchar_ts,
-	 in bytes it will equal to align * (sizeof (wchar_t)).
-   For strrchr we need to check all alignments from 0 to 63 since some assembly implementations
-   have separate prolog for alignments more 48. */
+      /* For wcsrchr: align1 and align2 here mean align not in bytes,
+	 but in wchar_ts, in bytes it will equal to align * (sizeof
+	 (wchar_t)).  For strrchr we need to check all alignments from
+	 0 to 63 since some assembly implementations have separate
+	 prolog for alignments more 48. */
 
       align1 = random () & (63 / sizeof(CHAR));
       if (random () & 1)
diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index 6126a53..484c2f3 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -93,12 +93,12 @@ static void
 do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
 /* For wcsrchr: align here means align not in bytes,
    but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
-   len for wcschr here isn't in bytes but it's number of wchar_t symbols.  */        
+   len for wcschr here isn't in bytes but it's number of wchar_t symbols.  */
 {
   size_t i;
   CHAR *result;
   CHAR *buf = (CHAR *) buf1;
-  
+
   align &= 7;
   if ( (align + len) * sizeof(CHAR) >= page_size)
     return;
@@ -109,7 +109,7 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
       if (!buf[align + i])
 	buf[align + i] = (random () * random ()) & max_char;
       if (!buf[align + i])
-        buf[align + i] = 1;
+	buf[align + i] = 1;
       if ((i > pos || pos >= len) && buf[align + i] == seek_char)
 	buf[align + i] = seek_char + 10 + (random () & 15);
     }
@@ -160,7 +160,7 @@ do_random_tests (void)
       if (pos >= len)
 	len = pos + (random () & 7);
       if (len + align >= 512)
-        len = 511 - align - (random () & 7);
+	len = 511 - align - (random () & 7);
       seek_char = random () & 255;
       if (seek_char && pos == len)
 	{
@@ -171,7 +171,7 @@ do_random_tests (void)
 	}
       j = len + align + 64;
       if (j > 512)
-        j = 512;
+	j = 512;
 
       for (i = 0; i < j; i++)
 	{
@@ -197,7 +197,7 @@ do_random_tests (void)
       if (pos <= len)
 	result = (CHAR *) (p + pos + align);
       else if (seek_char == 0)
-        result = (CHAR *) (p + len + align);
+	result = (CHAR *) (p + len + align);
       else
 	result = NULL;
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=df33a8fb1cc1ca9e085b92c1620f9346aef0c1c3

commit df33a8fb1cc1ca9e085b92c1620f9346aef0c1c3
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Sat Dec 17 14:19:26 2011 -0500

    Fix WP

diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index 38afbbe..6126a53 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -2,7 +2,8 @@
    Copyright (C) 1999, 2002, 2003, 2005, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
-   Added wcsrrchr support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011.
+   Added wcsrrchr support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>,
+   2011.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -145,15 +146,16 @@ do_random_tests (void)
   for (n = 0; n < ITERATIONS; n++)
     {
       align = random () & (63 / sizeof(CHAR));
-   /* For wcsrchr: align here means align not in bytes, but in wchar_ts,
+      /* For wcsrchr: align here means align not in bytes, but in wchar_ts,
 	 in bytes it will equal to align * (sizeof (wchar_t)).
-   For strrchr we need to check all alignments from 0 to 63 since some assembly implementations
-   have separate prolog for alignments more 48. */
+	 For strrchr we need to check all alignments from 0 to 63 since
+	 some assembly implementations have separate prolog for alignments
+	 more 48. */
       pos = random () & 511;
       if (pos + align >= 511)
 	pos = 510 - align - (random () & 7);
       len = random () & 511;
-   /* len for wcschr here isn't in bytes but it's number of wchar_t
+      /* len for wcschr here isn't in bytes but it's number of wchar_t
 	 symbols.  */
       if (pos >= len)
 	len = pos + (random () & 7);

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5b330a2d903b68cf6db64aac230bf64e18fa9624

commit 5b330a2d903b68cf6db64aac230bf64e18fa9624
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Sat Dec 17 14:14:58 2011 -0500

    Add tests for wcsrchr and wcscpy

diff --git a/ChangeLog b/ChangeLog
index af1d785..f3ce260 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
-2011-12-12  Jeff Law  <law@redhat.com>
+2011-11-17  Liubov Dmitrieva  <liubov.dmitrieva@gmail.com>
 
-	* manual/resource.texi (Processor Resources):
-	Fix typo in _SC_NPROCESSORS_ONLN.
+	* wcsmbs/Makefile (strop-tests): Add wcsrchr wcscpy.
+	* wcsmbs/test-wcsrchr.c: New file.
+	* string/test-strrchr.c: Add wcsrchr support.
+	(WIDE): New macro.
+	* wcsmbs/test-wcscpy.c: New file.
+	* string/test-strcpy.c: Add wcscpy support.
+	(WIDE): New macro.
 
 2011-12-10  Ulrich Drepper  <drepper@gmail.com>
 
diff --git a/string/test-strcpy.c b/string/test-strcpy.c
index 6a2ea25..d6f4a0b 100644
--- a/string/test-strcpy.c
+++ b/string/test-strcpy.c
@@ -1,7 +1,8 @@
 /* Test and measure strcpy functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2003, 2005, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
+   Added wcscpy support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -18,29 +19,55 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#ifdef WIDE
+# include <wchar.h>
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define BIG_CHAR WCHAR_MAX
+# define SMALL_CHAR 1273
+# define STRCMP wcscmp
+# define MEMCMP wmemcmp
+# define MEMSET wmemset
+#else
+# define CHAR char
+# define UCHAR unsigned char
+# define BIG_CHAR CHAR_MAX
+# define SMALL_CHAR 127
+# define STRCMP strcmp
+# define MEMCMP memcmp
+# define MEMSET memset
+#endif
+
 #ifndef STRCPY_RESULT
 # define STRCPY_RESULT(dst, len) dst
 # define TEST_MAIN
 # include "test-string.h"
+# ifndef WIDE
+#  define SIMPLE_STRCPY simple_strcpy
+#  define STRCPY strcpy
+# else
+#  define SIMPLE_STRCPY simple_wcscpy
+#  define STRCPY wcscpy
+# endif
 
-char *simple_strcpy (char *, const char *);
+CHAR *SIMPLE_STRCPY (CHAR *, const CHAR *);
 
-IMPL (simple_strcpy, 0)
-IMPL (strcpy, 1)
+IMPL (SIMPLE_STRCPY, 0)
+IMPL (STRCPY, 1)
 
-char *
-simple_strcpy (char *dst, const char *src)
+CHAR *
+SIMPLE_STRCPY (CHAR *dst, const CHAR *src)
 {
-  char *ret = dst;
+  CHAR *ret = dst;
   while ((*dst++ = *src++) != '\0');
   return ret;
 }
 #endif
 
-typedef char *(*proto_t) (char *, const char *);
+typedef CHAR *(*proto_t) (CHAR *, const CHAR *);
 
 static void
-do_one_test (impl_t *impl, char *dst, const char *src,
+do_one_test (impl_t *impl, CHAR *dst, const CHAR *src,
 	     size_t len __attribute__((unused)))
 {
   if (CALL (impl, dst, src) != STRCPY_RESULT (dst, len))
@@ -51,7 +78,7 @@ do_one_test (impl_t *impl, char *dst, const char *src,
       return;
     }
 
-  if (strcmp (dst, src) != 0)
+  if (STRCMP (dst, src) != 0)
     {
       error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
 	     impl->name, dst, src);
@@ -82,25 +109,27 @@ static void
 do_test (size_t align1, size_t align2, size_t len, int max_char)
 {
   size_t i;
-  char *s1, *s2;
-
+  CHAR *s1, *s2;
+/* For wcscpy: align1 and align2 here mean alignment not in bytes,
+   but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
+   len for wcschr here isn't in bytes but it's number of wchar_t symbols.  */
   align1 &= 7;
-  if (align1 + len >= page_size)
+  if ((align1 + len) * sizeof(CHAR) >= page_size)
     return;
 
   align2 &= 7;
-  if (align2 + len >= page_size)
+  if ((align2 + len) * sizeof(CHAR) >= page_size)
     return;
 
-  s1 = (char *) (buf1 + align1);
-  s2 = (char *) (buf2 + align2);
+  s1 = (CHAR *) (buf1) + align1;
+  s2 = (CHAR *) (buf2) + align2;
 
   for (i = 0; i < len; i++)
     s1[i] = 32 + 23 * i % (max_char - 32);
   s1[len] = 0;
 
   if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+    printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, len);
@@ -113,15 +142,21 @@ static void
 do_random_tests (void)
 {
   size_t i, j, n, align1, align2, len;
-  unsigned char *p1 = buf1 + page_size - 512;
-  unsigned char *p2 = buf2 + page_size - 512;
-  unsigned char *res;
+  
+  UCHAR *p1 = (UCHAR *) (buf1 + page_size) - 512;
+  UCHAR *p2 = (UCHAR *) (buf2 + page_size) - 512;
+  UCHAR *res;
 
   for (n = 0; n < ITERATIONS; n++)
     {
-      align1 = random () & 31;
+   /* For wcsrchr: align1 and align2 here mean align not in bytes, but in wchar_ts,
+	 in bytes it will equal to align * (sizeof (wchar_t)).
+   For strrchr we need to check all alignments from 0 to 63 since some assembly implementations
+   have separate prolog for alignments more 48. */
+
+      align1 = random () & (63 / sizeof(CHAR));
       if (random () & 1)
-	align2 = random () & 31;
+	align2 = random () & (63 / sizeof(CHAR));
       else
 	align2 = align1 + (random () & 24);
       len = random () & 511;
@@ -139,17 +174,16 @@ do_random_tests (void)
 	    p1[i] = 0;
 	  else
 	    {
-	      p1[i] = random () & 255;
+	      p1[i] = random () & BIG_CHAR;
 	      if (i >= align1 && i < len + align1 && !p1[i])
-		p1[i] = (random () & 127) + 3;
+		p1[i] = (random () & SMALL_CHAR) + 3;
 	    }
 	}
 
       FOR_EACH_IMPL (impl, 1)
 	{
-	  memset (p2 - 64, '\1', 512 + 64);
-	  res = (unsigned char *) CALL (impl, (char *) (p2 + align2),
-					(char *) (p1 + align1));
+	  MEMSET (p2 - 64, '\1', 512 + 64);
+	  res = (UCHAR *) CALL (impl, (CHAR *) (p2 + align2), (CHAR *) (p1 + align1));
 	  if (res != STRCPY_RESULT (p2 + align2, len))
 	    {
 	      error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %zd, %zd) %p != %p",
@@ -177,7 +211,7 @@ do_random_tests (void)
 		  break;
 		}
 	    }
-	  if (memcmp (p1 + align1, p2 + align2, len + 1))
+	  if (MEMCMP (p1 + align1, p2 + align2, len + 1))
 	    {
 	      error (0, 0, "Iteration %zd - different strings, %s (%zd, %zd, %zd)",
 		     n, impl->name, align1, align2, len);
@@ -201,24 +235,24 @@ test_main (void)
 
   for (i = 0; i < 16; ++i)
     {
-      do_test (0, 0, i, 127);
-      do_test (0, 0, i, 255);
-      do_test (0, i, i, 127);
-      do_test (i, 0, i, 255);
+      do_test (0, 0, i, SMALL_CHAR);
+      do_test (0, 0, i, BIG_CHAR);
+      do_test (0, i, i, SMALL_CHAR);
+      do_test (i, 0, i, BIG_CHAR);
     }
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (0, 0, 8 << i, 127);
-      do_test (8 - i, 2 * i, 8 << i, 127);
+      do_test (0, 0, 8 << i, SMALL_CHAR);
+      do_test (8 - i, 2 * i, 8 << i, SMALL_CHAR);
     }
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (i, 2 * i, 8 << i, 127);
-      do_test (2 * i, i, 8 << i, 255);
-      do_test (i, i, 8 << i, 127);
-      do_test (i, i, 8 << i, 255);
+      do_test (i, 2 * i, 8 << i, SMALL_CHAR);
+      do_test (2 * i, i, 8 << i, BIG_CHAR);
+      do_test (i, i, 8 << i, SMALL_CHAR);
+      do_test (i, i, 8 << i, BIG_CHAR);
     }
 
   do_random_tests ();
diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index 92e8ab1..38afbbe 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -1,7 +1,8 @@
-/* Test and measure strrchr functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Test and measure STRCHR functions.
+   Copyright (C) 1999, 2002, 2003, 2005, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
+   Added wcsrrchr support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -21,28 +22,45 @@
 #define TEST_MAIN
 #include "test-string.h"
 
-typedef char *(*proto_t) (const char *, int);
-char *simple_strrchr (const char *, int);
-
-IMPL (simple_strrchr, 0)
-IMPL (strrchr, 1)
-
-char *
-simple_strrchr (const char *s, int c)
+#ifdef WIDE
+# include <wchar.h>
+# define SIMPLE_STRRCHR simple_wcsrchr
+# define STRRCHR wcsrchr
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define BIG_CHAR WCHAR_MAX
+# define SMALL_CHAR 1273
+#else
+# define SIMPLE_STRRCHR simple_strrchr
+# define STRRCHR strrchr
+# define CHAR char
+# define UCHAR unsigned char
+# define BIG_CHAR CHAR_MAX
+# define SMALL_CHAR 127
+#endif
+
+typedef CHAR *(*proto_t) (const CHAR *, int);
+CHAR *SIMPLE_STRRCHR (const CHAR *, int);
+
+IMPL (SIMPLE_STRRCHR, 0)
+IMPL (STRRCHR, 1)
+
+CHAR *
+SIMPLE_STRRCHR (const CHAR *s, int c)
 {
-  const char *ret = NULL;
+  const CHAR *ret = NULL;
 
   for (; *s != '\0'; ++s)
-    if (*s == (char) c)
+    if (*s == (CHAR) c)
       ret = s;
 
-  return (char *) (c == '\0' ? s : ret);
+  return (CHAR *) (c == '\0' ? s : ret);
 }
 
 static void
-do_one_test (impl_t *impl, const char *s, int c, char *exp_res)
+do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)
 {
-  char *res = CALL (impl, s, c);
+  CHAR *res = CALL (impl, s, c);
   if (res != exp_res)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -72,41 +90,45 @@ do_one_test (impl_t *impl, const char *s, int c, char *exp_res)
 
 static void
 do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
+/* For wcsrchr: align here means align not in bytes,
+   but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
+   len for wcschr here isn't in bytes but it's number of wchar_t symbols.  */        
 {
   size_t i;
-  char *result;
-
+  CHAR *result;
+  CHAR *buf = (CHAR *) buf1;
+  
   align &= 7;
-  if (align + len >= page_size)
+  if ( (align + len) * sizeof(CHAR) >= page_size)
     return;
 
   for (i = 0; i < len; ++i)
     {
-      buf1[align + i] = random () & max_char;
-      if (!buf1[align + i])
-	buf1[align + i] = random () & max_char;
-      if (!buf1[align + i])
-        buf1[align + i] = 1;
-      if ((i > pos || pos >= len) && buf1[align + i] == seek_char)
-	buf1[align + i] = seek_char + 10 + (random () & 15);
+      buf[align + i] = (random () * random ()) & max_char;
+      if (!buf[align + i])
+	buf[align + i] = (random () * random ()) & max_char;
+      if (!buf[align + i])
+        buf[align + i] = 1;
+      if ((i > pos || pos >= len) && buf[align + i] == seek_char)
+	buf[align + i] = seek_char + 10 + (random () & 15);
     }
-  buf1[align + len] = 0;
+  buf[align + len] = 0;
 
   if (pos < len)
     {
-      buf1[align + pos] = seek_char;
-      result = (char *) (buf1 + align + pos);
+      buf[align + pos] = seek_char;
+      result = (CHAR *) (buf + align + pos);
     }
   else if (seek_char == 0)
-    result = (char *) (buf1 + align + len);
+    result = (CHAR *) (buf + align + len);
   else
     result = NULL;
 
   if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd:", pos, align);
+    printf ("Length %4zd, alignment in bytes %2zd:", pos, align * sizeof(CHAR));
 
   FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, (char *) (buf1 + align), seek_char, result);
+    do_one_test (impl, (CHAR *) (buf + align), seek_char, result);
 
   if (HP_TIMING_AVAIL)
     putchar ('\n');
@@ -117,16 +139,22 @@ do_random_tests (void)
 {
   size_t i, j, n, align, pos, len;
   int seek_char;
-  char *result;
-  unsigned char *p = buf1 + page_size - 512;
+  CHAR *result;
+  UCHAR *p = (UCHAR *) (buf1 + page_size) - 512;
 
   for (n = 0; n < ITERATIONS; n++)
     {
-      align = random () & 15;
+      align = random () & (63 / sizeof(CHAR));
+   /* For wcsrchr: align here means align not in bytes, but in wchar_ts,
+	 in bytes it will equal to align * (sizeof (wchar_t)).
+   For strrchr we need to check all alignments from 0 to 63 since some assembly implementations
+   have separate prolog for alignments more 48. */
       pos = random () & 511;
       if (pos + align >= 511)
 	pos = 510 - align - (random () & 7);
       len = random () & 511;
+   /* len for wcschr here isn't in bytes but it's number of wchar_t
+	 symbols.  */
       if (pos >= len)
 	len = pos + (random () & 7);
       if (len + align >= 512)
@@ -165,18 +193,18 @@ do_random_tests (void)
 	}
 
       if (pos <= len)
-	result = (char *) (p + pos + align);
+	result = (CHAR *) (p + pos + align);
       else if (seek_char == 0)
-        result = (char *) (p + len + align);
+        result = (CHAR *) (p + len + align);
       else
 	result = NULL;
 
       FOR_EACH_IMPL (impl, 1)
-	if (CALL (impl, (char *) (p + align), seek_char) != result)
+	if (CALL (impl, (CHAR *) (p + align), seek_char) != result)
 	  {
 	    error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %d, %zd, %zd) %p != %p, p %p",
 		   n, impl->name, align, seek_char, len, pos,
-		   CALL (impl, (char *) (p + align), seek_char), result, p);
+		   CALL (impl, (CHAR *) (p + align), seek_char), result, p);
 	    ret = 1;
 	  }
     }
@@ -196,38 +224,38 @@ test_main (void)
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (0, 16 << i, 2048, 23, 127);
-      do_test (i, 16 << i, 2048, 23, 127);
+      do_test (0, 16 << i, 2048, 23, SMALL_CHAR);
+      do_test (i, 16 << i, 2048, 23, SMALL_CHAR);
     }
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (i, 64, 256, 23, 127);
-      do_test (i, 64, 256, 23, 255);
+      do_test (i, 64, 256, 23, SMALL_CHAR);
+      do_test (i, 64, 256, 23, BIG_CHAR);
     }
 
   for (i = 0; i < 32; ++i)
     {
-      do_test (0, i, i + 1, 23, 127);
-      do_test (0, i, i + 1, 23, 255);
+      do_test (0, i, i + 1, 23, SMALL_CHAR);
+      do_test (0, i, i + 1, 23, BIG_CHAR);
     }
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (0, 16 << i, 2048, 0, 127);
-      do_test (i, 16 << i, 2048, 0, 127);
+      do_test (0, 16 << i, 2048, 0, SMALL_CHAR);
+      do_test (i, 16 << i, 2048, 0, SMALL_CHAR);
     }
 
   for (i = 1; i < 8; ++i)
     {
-      do_test (i, 64, 256, 0, 127);
-      do_test (i, 64, 256, 0, 255);
+      do_test (i, 64, 256, 0, SMALL_CHAR);
+      do_test (i, 64, 256, 0, BIG_CHAR);
     }
 
   for (i = 0; i < 32; ++i)
     {
-      do_test (0, i, i + 1, 0, 127);
-      do_test (0, i, i + 1, 0, 255);
+      do_test (0, i, i + 1, 0, SMALL_CHAR);
+      do_test (0, i, i + 1, 0, BIG_CHAR);
     }
 
   do_random_tests ();
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 64d4b22..8b1ae6c 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -42,7 +42,7 @@ routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
 	    isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \
 	    isoc99_swscanf isoc99_vswscanf
 
-strop-tests :=  wcscmp wmemcmp wcslen wcschr
+strop-tests :=  wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy
 tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
 	 tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
 	 wcsatcliff $(addprefix test-,$(strop-tests))
diff --git a/wcsmbs/test-wcscpy.c b/wcsmbs/test-wcscpy.c
new file mode 100644
index 0000000..b7cad53
--- /dev/null
+++ b/wcsmbs/test-wcscpy.c
@@ -0,0 +1,2 @@
+#define WIDE 1
+#include "../string/test-strcpy.c"
diff --git a/wcsmbs/test-wcsrchr.c b/wcsmbs/test-wcsrchr.c
new file mode 100644
index 0000000..95a5568
--- /dev/null
+++ b/wcsmbs/test-wcsrchr.c
@@ -0,0 +1,2 @@
+#define WIDE 1
+#include "../string/test-strrchr.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |   13 +++--
 string/test-strcpy.c  |  110 +++++++++++++++++++++++++++--------------
 string/test-strrchr.c |  132 ++++++++++++++++++++++++++++++-------------------
 wcsmbs/Makefile       |    2 +-
 wcsmbs/test-wcscpy.c  |    2 +
 wcsmbs/test-wcsrchr.c |    2 +
 6 files changed, 167 insertions(+), 94 deletions(-)
 create mode 100644 wcsmbs/test-wcscpy.c
 create mode 100644 wcsmbs/test-wcsrchr.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]