From 732f09990fda978fe1cbef786d6b2d15897e6f97 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Thu, 17 Feb 2005 15:17:16 +0000 Subject: r5431: couple of cimpile fixes from Jason Mader -- BUGS 2341 & 2342 (This used to be commit 0edcfc7fa20fd8e3273b29c8f1a97cb7c7179fb6) --- source3/lib/util_unistr.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'source3/lib/util_unistr.c') diff --git a/source3/lib/util_unistr.c b/source3/lib/util_unistr.c index bb9d69b164..55a21ebcbb 100644 --- a/source3/lib/util_unistr.c +++ b/source3/lib/util_unistr.c @@ -454,16 +454,20 @@ smb_ucs2_t *strnrchr_w(const smb_ucs2_t *s, smb_ucs2_t c, unsigned int n) smb_ucs2_t *strstr_w(const smb_ucs2_t *s, const smb_ucs2_t *ins) { smb_ucs2_t *r; - size_t slen, inslen; + size_t inslen; + + if (!s || !*s || !ins || !*ins) + return NULL; - if (!s || !*s || !ins || !*ins) return NULL; - slen = strlen_w(s); inslen = strlen_w(ins); r = (smb_ucs2_t *)s; + while ((r = strchr_w(r, *ins))) { - if (strncmp_w(r, ins, inslen) == 0) return r; + if (strncmp_w(r, ins, inslen) == 0) + return r; r++; } + return NULL; } @@ -736,16 +740,20 @@ smb_ucs2_t *strpbrk_wa(const smb_ucs2_t *s, const char *p) smb_ucs2_t *strstr_wa(const smb_ucs2_t *s, const char *ins) { smb_ucs2_t *r; - size_t slen, inslen; + size_t inslen; + + if (!s || !*s || !ins || !*ins) + return NULL; - if (!s || !*s || !ins || !*ins) return NULL; - slen = strlen_w(s); inslen = strlen(ins); r = (smb_ucs2_t *)s; + while ((r = strchr_w(r, UCS2_CHAR(*ins)))) { - if (strncmp_wa(r, ins, inslen) == 0) return r; + if (strncmp_wa(r, ins, inslen) == 0) + return r; r++; } + return NULL; } -- cgit