about summary refs log tree commit diff
path: root/sysdeps/generic/strnlen.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-08-28 04:52:25 +0000
committerUlrich Drepper <drepper@redhat.com>2001-08-28 04:52:25 +0000
commitc06a49c551ebfc7f320a05546b5a013714ac82e5 (patch)
tree99a3e7af0141dfca57cf119bb094b14cfe226af5 /sysdeps/generic/strnlen.c
parent497b760b341c38565531e964a33eec0eec343be5 (diff)
downloadglibc-c06a49c551ebfc7f320a05546b5a013714ac82e5.tar.gz
glibc-c06a49c551ebfc7f320a05546b5a013714ac82e5.tar.xz
glibc-c06a49c551ebfc7f320a05546b5a013714ac82e5.zip
Update.
2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* misc/syslog.c (vsyslog): Try a bit harder to use syslogd.  If
	the connection went down after we first used it try to connect
	again and resend the message before printing to the console.
	Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.

2001-08-27  Jakub Jelinek  <jakub@redhat.com>

	* string/tst-strlen.c (main): Test strnlen (, -1) too.
	* sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
	bit set.

2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* iconv/strtab.c (searchstring): Use correct length for
	comparison.
	(strtabadd): Account total size correct if new string has old string as
	substring.
Diffstat (limited to 'sysdeps/generic/strnlen.c')
-rw-r--r--sysdeps/generic/strnlen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/generic/strnlen.c b/sysdeps/generic/strnlen.c
index f1b6760247..1386acfd9c 100644
--- a/sysdeps/generic/strnlen.c
+++ b/sysdeps/generic/strnlen.c
@@ -36,6 +36,9 @@ __strnlen (const char *str, size_t maxlen)
   if (maxlen == 0)
     return 0;
 
+  if (__builtin_expect (end_ptr < str, 0))
+    end_ptr = (const char *) ~0UL;
+
   /* Handle the first few characters by reading one character at a time.
      Do this until CHAR_PTR is aligned on a longword boundary.  */
   for (char_ptr = str; ((unsigned long int) char_ptr