# HG changeset patch # User Richard M. Stallman # Date 1008715826 0 # Node ID 5e1f90b727644dac7308328655a57245c17ec3db # Parent e08cd63afb2e5513d02804598b6ca2bf219583bd (scmp): Function moved from minibuf.c. Delete multibyte handling--used only on encoded strings. diff -r e08cd63afb2e -r 5e1f90b72764 src/dired.c --- a/src/dired.c Tue Dec 18 22:49:19 2001 +0000 +++ b/src/dired.c Tue Dec 18 22:50:26 2001 +0000 @@ -117,6 +117,8 @@ Lisp_Object Qfile_name_all_completions; Lisp_Object Qfile_attributes; Lisp_Object Qfile_attributes_lessp; + +static int scmp P_ ((unsigned char *, unsigned char *, int)); Lisp_Object @@ -734,6 +736,34 @@ 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;