From a9c687dec66bd02127c02ed1225d778e9565b695 Mon Sep 17 00:00:00 2001 From: leitner Date: Tue, 9 Mar 2004 00:20:10 +0000 Subject: [PATCH] fix another case in byte_rchr --- byte/byte_rchr.c | 8 ++++---- t.c | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/byte/byte_rchr.c b/byte/byte_rchr.c index ceeed9d..06a465b 100644 --- a/byte/byte_rchr.c +++ b/byte/byte_rchr.c @@ -7,10 +7,10 @@ unsigned long byte_rchr(const void* haystack,unsigned long len,char needle) { register const char* s=haystack; register const char* t=s+len; for (;;) { - --t; if (s>=t) break; if (*t==c) return t-s; - --t; if (s>=t) break; if (*t==c) return t-s; - --t; if (s>=t) break; if (*t==c) return t-s; - --t; if (s>=t) break; if (*t==c) return t-s; + --t; if (s>t) break; if (*t==c) return t-s; + --t; if (s>t) break; if (*t==c) return t-s; + --t; if (s>t) break; if (*t==c) return t-s; + --t; if (s>t) break; if (*t==c) return t-s; } return len; } diff --git a/t.c b/t.c index 5d43b34..ab5db67 100644 --- a/t.c +++ b/t.c @@ -29,6 +29,7 @@ int main(int argc,char* argv[]) { assert(byte_rchr(buf,len,'/')==8); assert(byte_rchr(buf,len,'@')==len); assert(byte_rchr(buf,len,'h')==len-1); + printf("%d\n",byte_rchr("x",1,'x')); #if 0 char buf[IP6_FMT+100]; int i;