From 659bfee0722b0b4b2709fe64a6c66fff1d5e76c9 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 11 Apr 2008 11:38:06 +0000 Subject: unposted: move zlefind() and zlecmp() into zle_hist.c --- Src/Zle/zle_utils.c | 76 ----------------------------------------------------- 1 file changed, 76 deletions(-) (limited to 'Src/Zle/zle_utils.c') diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c index 1027f2083..cacf6b483 100644 --- a/Src/Zle/zle_utils.c +++ b/Src/Zle/zle_utils.c @@ -616,82 +616,6 @@ findline(int *a, int *b) *b = findeol(); } -/* - * Return zero if the ZLE string histp length histl and the ZLE string - * inputp length inputl are the same. Return -1 if inputp is a prefix - * of histp. Return 1 if inputp is the lowercase version of histp. - * Return 2 if inputp is the lowercase prefix of histp and return 3 - * otherwise. - */ - -/**/ -int -zlinecmp(ZLE_STRING_T histp, int histl, ZLE_STRING_T inputp, int inputl) -{ - int cnt; - - if (histl < inputl) { - /* Not identical, second string is not a prefix. */ - return 3; - } - - if (!ZS_memcmp(histp, inputp, inputl)) { - /* Common prefix is identical */ - /* If lines are identical return 0 */ - if (histl == inputl) - return 0; - /* Second string is a prefix of the first */ - return -1; - } - - for (cnt = inputl; cnt; cnt--) { - if ((ZLE_INT_T)*inputp++ != ZC_tolower(*histp++)) - return 3; - } - /* Is second string is lowercase version of first? */ - if (histl == inputl) - return 1; - /* Second string is lowercase prefix of first */ - return 2; -} - - -/* - * Search for needle in haystack. Haystack and needle are ZLE strings - * of the indicated length. Start the search at position - * pos in haystack. Search forward if dir > 0, otherwise search - * backward. sens is used to test against the return value of linecmp. - */ - -/**/ -ZLE_STRING_T -zlinefind(ZLE_STRING_T haystack, int haylen, int pos, - ZLE_STRING_T needle, int needlen, int dir, int sens) -{ - ZLE_STRING_T s = haystack + pos; - int slen = haylen - pos; - - if (dir > 0) { - while (slen) { - if (zlinecmp(s, slen, needle, needlen) < sens) - return s; - s++; - slen--; - } - } else { - for (;;) { - if (zlinecmp(s, slen, needle, needlen) < sens) - return s; - if (s == haystack) - break; - s--; - slen++; - } - } - - return NULL; -} - /* * Query the user, and return 1 for yes, 0 for no. The question is assumed to * have been printed already, and the cursor is left immediately after the -- cgit 1.4.1