Commit a3743514 authored by Benno Schulenberg's avatar Benno Schulenberg
Browse files

tweaks: rename some more of these 'rev_start' variables

No related merge requests found
Showing with 35 additions and 35 deletions
+35 -35
...@@ -477,91 +477,91 @@ char *mbstrcasestr(const char *haystack, const char *needle) ...@@ -477,91 +477,91 @@ char *mbstrcasestr(const char *haystack, const char *needle)
} }
/* This function is equivalent to strstr(), except in that it scans the /* This function is equivalent to strstr(), except in that it scans the
* string in reverse, starting at rev_start. */ * string in reverse, starting at index. */
char *revstrstr(const char *haystack, const char *needle, char *revstrstr(const char *haystack, const char *needle,
const char *pointer) const char *index)
{ {
size_t needle_len = strlen(needle); size_t needle_len = strlen(needle);
size_t tail_len = strlen(pointer); size_t tail_len = strlen(index);
if (needle_len == 0) if (needle_len == 0)
return (char *)pointer; return (char *)index;
if (strlen(haystack) < needle_len) if (strlen(haystack) < needle_len)
return NULL; return NULL;
if (tail_len < needle_len) if (tail_len < needle_len)
pointer += tail_len - needle_len; index += tail_len - needle_len;
while (pointer >= haystack) { while (index >= haystack) {
if (strncmp(pointer, needle, needle_len) == 0) if (strncmp(index, needle, needle_len) == 0)
return (char *)pointer; return (char *)index;
pointer--; index--;
} }
return NULL; return NULL;
} }
/* This function is equivalent to strcasestr(), except in that it scans /* This function is equivalent to strcasestr(), except in that it scans
* the string in reverse, starting at rev_start. */ * the string in reverse, starting at index. */
char *revstrcasestr(const char *haystack, const char *needle, const char char *revstrcasestr(const char *haystack, const char *needle,
*rev_start) const char *index)
{ {
size_t rev_start_len, needle_len; size_t tail_len, needle_len;
if (*needle == '\0') if (*needle == '\0')
return (char *)rev_start; return (char *)index;
needle_len = strlen(needle); needle_len = strlen(needle);
if (strlen(haystack) < needle_len) if (strlen(haystack) < needle_len)
return NULL; return NULL;
rev_start_len = strlen(rev_start); tail_len = strlen(index);
for (; rev_start >= haystack; rev_start--, rev_start_len++) { for (; index >= haystack; index--, tail_len++) {
if (rev_start_len >= needle_len && strncasecmp(rev_start, if (tail_len >= needle_len &&
needle, needle_len) == 0) strncasecmp(index, needle, needle_len) == 0)
return (char *)rev_start; return (char *)index;
} }
return NULL; return NULL;
} }
/* This function is equivalent to strcasestr() for multibyte strings, /* This function is equivalent to strcasestr() for multibyte strings,
* except in that it scans the string in reverse, starting at rev_start. */ * except in that it scans the string in reverse, starting at index. */
char *mbrevstrcasestr(const char *haystack, const char *needle, const char *mbrevstrcasestr(const char *haystack, const char *needle,
char *rev_start) const char *index)
{ {
#ifdef ENABLE_UTF8 #ifdef ENABLE_UTF8
if (use_utf8) { if (use_utf8) {
size_t rev_start_len, needle_len; size_t tail_len, needle_len;
if (*needle == '\0') if (*needle == '\0')
return (char *)rev_start; return (char *)index;
needle_len = mbstrlen(needle); needle_len = mbstrlen(needle);
if (mbstrlen(haystack) < needle_len) if (mbstrlen(haystack) < needle_len)
return NULL; return NULL;
rev_start_len = mbstrlen(rev_start); tail_len = mbstrlen(index);
while (TRUE) { while (TRUE) {
if (rev_start_len >= needle_len && if (tail_len >= needle_len &&
mbstrncasecmp(rev_start, needle, needle_len) == 0) mbstrncasecmp(index, needle, needle_len) == 0)
return (char *)rev_start; return (char *)index;
/* If we've reached the head of the haystack, we found nothing. */ /* If we've reached the head of the haystack, we found nothing. */
if (rev_start == haystack) if (index == haystack)
return NULL; return NULL;
rev_start = haystack + move_mbleft(haystack, rev_start - haystack); index = haystack + move_mbleft(haystack, index - haystack);
rev_start_len++; tail_len++;
} }
} else } else
#endif #endif
return revstrcasestr(haystack, needle, rev_start); return revstrcasestr(haystack, needle, index);
} }
/* This function is equivalent to strlen() for multibyte strings. */ /* This function is equivalent to strlen() for multibyte strings. */
......
...@@ -206,9 +206,9 @@ int mbstrcasecmp(const char *s1, const char *s2); ...@@ -206,9 +206,9 @@ int mbstrcasecmp(const char *s1, const char *s2);
int mbstrncasecmp(const char *s1, const char *s2, size_t n); int mbstrncasecmp(const char *s1, const char *s2, size_t n);
char *mbstrcasestr(const char *haystack, const char *needle); char *mbstrcasestr(const char *haystack, const char *needle);
char *revstrstr(const char *haystack, const char *needle, char *revstrstr(const char *haystack, const char *needle,
const char *pointer); const char *index);
char *mbrevstrcasestr(const char *haystack, const char *needle, const char *mbrevstrcasestr(const char *haystack, const char *needle,
char *rev_start); const char *index);
size_t mbstrlen(const char *s); size_t mbstrlen(const char *s);
size_t mbstrnlen(const char *s, size_t maxlen); size_t mbstrnlen(const char *s, size_t maxlen);
#if !defined(NANO_TINY) || !defined(DISABLE_JUSTIFY) #if !defined(NANO_TINY) || !defined(DISABLE_JUSTIFY)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment