From 18d616f253810303b588b67abea9bdcd18992673 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sun, 16 Jan 2005 19:30:48 +0000
Subject: [PATCH] put revstrstr() back in utils.c, as it's case sensitive and
 hance should work with multibyte strings as-is

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2279 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 20 ++++++++++----------
 src/chars.c | 21 +--------------------
 src/utils.c | 24 ++++++++++++++++++++++--
 3 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7c0a1297..a81cd9b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -102,16 +102,16 @@ CVS code -
 	  chars.c), is_cntrl_char() (moved to chars.c), nstricmp()
 	  (renamed nstrcasecmp() and moved to chars.c), nstrnicmp()
 	  (renamed nstrncasecmp() and moved to chars.c), nstristr()
-	  (renamed nstrcasestr() and moved to chars.c), revstrstr()
-	  (moved to chars.c), revstristr() (renamed revstrcasestr() and
-	  moved to chars.c), nstrnlen() (moved to chars.c),
-	  parse_char() (renamed parse_mbchar() and moved to chars.c),
-	  move_left() (renamed move_mbleft() and moved to chars.c),
-	  move_right() (renamed move_mbright() and moved to chars.c),
-	  do_home(), do_verbatim_input(), do_delete(), do_tab(),
-	  do_next_word(), do_prev_word(), do_input(), do_output(),
-	  get_buffer(), unget_input(), unget_kbinput(), get_input(),
-	  parse_kbinput(), unparse_kbinput(), parse_verbatim_kbinput(),
+	  (renamed nstrcasestr() and moved to chars.c), revstristr()
+	  (renamed revstrcasestr() and moved to chars.c), nstrnlen()
+	  (moved to chars.c), parse_char() (renamed parse_mbchar() and
+	  moved to chars.c), move_left() (renamed move_mbleft() and
+	  moved to chars.c), move_right() (renamed move_mbright() and
+	  moved to chars.c), do_home(), do_verbatim_input(),
+	  do_delete(), do_tab(), do_next_word(), do_prev_word(),
+	  do_input(), do_output(), get_buffer(), unget_input(),
+	  unget_kbinput(), get_input(), parse_kbinput(),
+	  unparse_kbinput(), parse_verbatim_kbinput(),
 	  do_statusbar_input(), do_statusbar_home(),
 	  do_statusbar_verbatim_kbinput(), do_statusbar_output(), and
 	  display_string(); removal of buffer_to_keys() and
diff --git a/src/chars.c b/src/chars.c
index 1eb11775..5b82ad8f 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -595,26 +595,7 @@ const char *nstrcasestr(const char *haystack, const char *needle)
 }
 #endif
 
-/* None of this is needed if we're using NANO_SMALL! */
 #ifndef NANO_SMALL
-const char *revstrstr(const char *haystack, const char *needle, const
-	char *rev_start)
-{
-    assert(haystack != NULL && needle != NULL && rev_start != NULL);
-
-    for (; rev_start >= haystack; rev_start--) {
-	const char *r, *q;
-
-	for (r = rev_start, q = needle; *q == *r && *q != '\0'; r++, q++)
-	    ;
-
-	if (*q == '\0')
-	    return rev_start;
-    }
-
-    return NULL;
-}
-
 const char *revstrcasestr(const char *haystack, const char *needle,
 	const char *rev_start)
 {
@@ -632,7 +613,7 @@ const char *revstrcasestr(const char *haystack, const char *needle,
 
     return NULL;
 }
-#endif /* !NANO_SMALL */
+#endif
 
 #ifndef HAVE_STRNLEN
 /* This function is equivalent to strnlen(). */
diff --git a/src/utils.c b/src/utils.c
index 4ece1358..e00cb9f4 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -131,7 +131,26 @@ void sunder(char *str)
     }
 }
 
-#if !defined(NANO_SMALL) && defined(ENABLE_NANORC)
+#ifndef NANO_SMALL
+const char *revstrstr(const char *haystack, const char *needle, const
+	char *rev_start)
+{
+    assert(haystack != NULL && needle != NULL && rev_start != NULL);
+
+    for (; rev_start >= haystack; rev_start--) {
+	const char *r, *q;
+
+	for (r = rev_start, q = needle; *q == *r && *q != '\0'; r++, q++)
+	    ;
+
+	if (*q == '\0')
+	    return rev_start;
+    }
+
+    return NULL;
+}
+
+#ifdef ENABLE_NANORC
 #ifndef HAVE_GETLINE
 /* This function is equivalent to getline().  It was adapted from
  * GNU mailutils' getline() function. */
@@ -189,7 +208,8 @@ ssize_t ngetdelim(char **lineptr, size_t *n, int delim, FILE *stream)
     return (c == EOF && (indx - 1) == 0) ? -1 : indx - 1;
 }
 #endif
-#endif /* !NANO_SMALL && ENABLE_NANORC */
+#endif /* ENABLE_NANORC */
+#endif /* !NANO_SMALL */
 
 /* If we are searching backwards, we will find the last match that
  * starts no later than start.  Otherwise we find the first match
-- 
GitLab