]> git.eshelyaron.com Git - emacs.git/commitdiff
(scmp): Function moved from minibuf.c.
authorRichard M. Stallman <rms@gnu.org>
Tue, 18 Dec 2001 22:50:26 +0000 (22:50 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 18 Dec 2001 22:50:26 +0000 (22:50 +0000)
Delete multibyte handling--used only on encoded strings.

src/dired.c

index fe1d8098c77e4805c3eaed4f47986a5d2d1cc0e7..d21cb65c9d3d1380cb9634cee16796ebbe05c691 100644 (file)
@@ -117,6 +117,8 @@ Lisp_Object Qfile_name_completion;
 Lisp_Object Qfile_name_all_completions;
 Lisp_Object Qfile_attributes;
 Lisp_Object Qfile_attributes_lessp;
+
+static int scmp P_ ((unsigned char *, unsigned char *, int));
 \f
 
 Lisp_Object
@@ -734,6 +736,34 @@ file_name_completion (file, dirname, all_flag, ver_flag)
   return Fsignal (Qquit, Qnil);
 }
 
+/* Compare exactly LEN chars of strings at S1 and S2,
+   ignoring case if appropriate.
+   Return -1 if strings match,
+   else number of chars that match at the beginning.  */
+
+static int
+scmp (s1, s2, len)
+     register unsigned char *s1, *s2;
+     int len;
+{
+  register int l = len;
+
+  if (completion_ignore_case)
+    {
+      while (l && DOWNCASE (*s1++) == DOWNCASE (*s2++))
+       l--;
+    }
+  else
+    {
+      while (l && *s1++ == *s2++)
+       l--;
+    }
+  if (l == 0)
+    return -1;
+  else
+    return len - l;
+}
+
 static int
 file_name_completion_stat (dirname, dp, st_addr)
      Lisp_Object dirname;