summaryrefslogtreecommitdiff
path: root/string
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-01-31 08:43:22 +0000
committerJakub Jelinek <jakub@redhat.com>2008-01-31 08:43:22 +0000
commita21d44637e4c53cce4760a2e2b13f0213c49a33d (patch)
treee28730f085cf343d98da117b41773940b365dd37 /string
parent07b7d301cc62d3f4ff1bbaf668ddc2510f7a55d8 (diff)
Updated to fedora-glibc-20080131T0821cvs/fedora-glibc-2_7_90-4
Diffstat (limited to 'string')
-rw-r--r--string/bits/string2.h11
-rw-r--r--string/tester.c8
2 files changed, 11 insertions, 8 deletions
diff --git a/string/bits/string2.h b/string/bits/string2.h
index 6a18a1afc6..d298bed9f8 100644
--- a/string/bits/string2.h
+++ b/string/bits/string2.h
@@ -1,5 +1,5 @@
/* Machine-independant string function optimizations.
- Copyright (C) 1997-2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1997-2003, 2004, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -1163,10 +1163,9 @@ __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
# ifndef _HAVE_STRING_ARCH_strtok_r
# define __strtok_r(s, sep, nextp) \
(__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep) \
- ? (((__const char *) (sep))[0] != '\0' \
- && ((__const char *) (sep))[1] == '\0' \
- ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp) \
- : __strtok_r (s, sep, nextp)) \
+ && ((__const char *) (sep))[0] != '\0' \
+ && ((__const char *) (sep))[1] == '\0' \
+ ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp) \
: __strtok_r (s, sep, nextp)))
# endif
@@ -1189,8 +1188,8 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)
__s[-1] = '\0';
break;
}
- *__nextp = __s;
}
+ *__nextp = __s;
return __result;
}
# if defined __USE_POSIX || defined __USE_MISC
diff --git a/string/tester.c b/string/tester.c
index cccef3ad9d..1c0efe07d4 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -1,5 +1,5 @@
/* Tester for string functions.
- Copyright (C) 1995-2001, 2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1995-2001, 2003, 2005, 2008 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
@@ -840,9 +840,13 @@ test_strtok_r (void)
equal(strtok_r((char *)NULL, ",", &cp), "c", 29);
check(strtok_r((char *)NULL, ",", &cp) == NULL, 30);
equal(one+6, "gh", 31); /* Stomped past end? */
- equal(one, "a", 32); /* Stomped old tokens? */
+ equal(one, "a", 32); /* Stomped old tokens? */
equal(one+2, "b", 33);
equal(one+4, "c", 34);
+ strcpy (one, ":::");
+ cp = NULL;
+ check (strtok_r (one, ":", &cp) == NULL, 35); /* Must store pointer in cp. */
+ check (strtok_r (NULL, ":", &cp) == NULL, 36);
}
static void