diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-04-07 06:51:59 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-04-07 06:51:59 +0000 |
commit | 4bcb2658ff02d72aa83640cf76ac65a430f17004 (patch) | |
tree | c16826690adfb652fd633f88fc8782585f1cd7ea | |
parent | 322e23db2402ceb66d7f7e5f59d07965382f298a (diff) | |
download | glibc-4bcb2658ff02d72aa83640cf76ac65a430f17004.zip glibc-4bcb2658ff02d72aa83640cf76ac65a430f17004.tar.gz glibc-4bcb2658ff02d72aa83640cf76ac65a430f17004.tar.bz2 |
* string/strverscmp.c (__strverscmp): Fix last cleanups.cvs/fedora-glibc-20090407T0657
* string/tst-svc.input: Add new test case.
* string/tst-svc.expect: Adjust.
* string/Makefile: Don't ignore tst-svc error.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | string/Makefile | 2 | ||||
-rw-r--r-- | string/strverscmp.c | 6 | ||||
-rw-r--r-- | string/tst-svc.expect | 2 | ||||
-rw-r--r-- | string/tst-svc.input | 2 |
6 files changed, 14 insertions, 5 deletions
@@ -1,5 +1,10 @@ 2009-04-06 Ulrich Drepper <drepper@redhat.com> + * string/strverscmp.c (__strverscmp): Fix last cleanups. + * string/tst-svc.input: Add new test case. + * string/tst-svc.expect: Adjust. + * string/Makefile: Don't ignore tst-svc error. + * sysdeps/x86_64/memchr.S: New file. * resolv/resolv.h (RES_SNGLKUP): Define. @@ -37,7 +37,7 @@ Version 2.10 * New locales: nan_TW@latin, ks_IN -* Faster strlen and strchr on x86-64. +* Faster strlen, strchr, and memchr on x86-64. Implemented by Ulrich Drepper. diff --git a/string/Makefile b/string/Makefile index 127e25f..db9b508 100644 --- a/string/Makefile +++ b/string/Makefile @@ -79,5 +79,5 @@ tests: $(objpfx)tst-svc.out $(objpfx)tst-svc.out: tst-svc.input $(objpfx)tst-svc GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ $(built-program-cmd) < $(word 1,$^) > $@ - -cmp tst-svc.expect $(objpfx)tst-svc.out + @cmp tst-svc.expect $(objpfx)tst-svc.out endif diff --git a/string/strverscmp.c b/string/strverscmp.c index 2b7ebcb..7c5be8d 100644 --- a/string/strverscmp.c +++ b/string/strverscmp.c @@ -74,7 +74,7 @@ __strverscmp (s1, s2) unsigned char c1 = *p1++; unsigned char c2 = *p2++; /* Hint: '0' is a digit too. */ - int state = S_N | ((c1 == '0') + (isdigit (c1) != 0)); + int state = S_N + ((c1 == '0') + (isdigit (c1) != 0)); int diff; while ((diff = c1 - c2) == 0) @@ -85,10 +85,10 @@ __strverscmp (s1, s2) state = next_state[state]; c1 = *p1++; c2 = *p2++; - state |= (c1 == '0') + (isdigit (c1) != 0); + state += (c1 == '0') + (isdigit (c1) != 0); } - state = result_type[state * 3 | (((c2 == '0') + (isdigit (c2) != 0)))]; + state = result_type[state * 3 + (((c2 == '0') + (isdigit (c2) != 0)))]; switch (state) { diff --git a/string/tst-svc.expect b/string/tst-svc.expect index bb54a2a..6240112 100644 --- a/string/tst-svc.expect +++ b/string/tst-svc.expect @@ -6,6 +6,8 @@ 01a 0 0a +2.6.20 +2.6.21 2.8 2.8-0.4 20 diff --git a/string/tst-svc.input b/string/tst-svc.input index fbe06d2..247b1c4 100644 --- a/string/tst-svc.input +++ b/string/tst-svc.input @@ -6,6 +6,7 @@ 01a 00a 000 +2.6.21 20 212 21 @@ -18,6 +19,7 @@ foo foo-3.0.0 foo-3.0.1 foo-0.5 +2.6.20 foo-0.4b foo-3.10 foo-3.2 |