diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 1996-08-12 03:45:53 +0000 | 
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 1996-08-12 03:45:53 +0000 | 
| commit | 89ec343a7f88e8466133efbcfbf4ceb60df580c0 (patch) | |
| tree | 6bad66a394d9a9b85ce1e525b03f3e882ffeaa6a /lib | |
| parent | 2eecfbac3af6a5f788d666e0e7c0c1e2a12e5763 (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libc/gen/glob.c | 38 | 
1 files changed, 3 insertions, 35 deletions
| diff --git a/lib/libc/gen/glob.c b/lib/libc/gen/glob.c index bb2fb18cf900..cfea03535255 100644 --- a/lib/libc/gen/glob.c +++ b/lib/libc/gen/glob.c @@ -75,6 +75,7 @@ static char sccsid[] = "@(#)glob.c	8.3 (Berkeley) 10/13/93";  #include <stdlib.h>  #include <string.h>  #include <unistd.h> +#include "collate.h"  #define	DOLLAR		'$'  #define	DOT		'.' @@ -147,7 +148,6 @@ static int	 match __P((Char *, Char *, Char *));  #ifdef DEBUG  static void	 qprintf __P((const char *, Char *));  #endif -static int       collcmp __P((int, int));  int  glob(pattern, flags, errfunc, pglob) @@ -669,38 +669,6 @@ globextend(path, pglob)  	return(copy == NULL ? GLOB_NOSPACE : 0);  } -static int -collcmp (c1, c2) -	int c1, c2; -{ -	static char s1[2], s2[2]; - -	if (c1 == c2) -		return (0); -	if (   (isascii(c1) && isascii(c2)) -	    || (!isalpha(c1) && !isalpha(c2)) -	   ) -		return (c1 - c2); -	if (isalpha(c1) && !isalpha(c2)) { -		if (isupper(c1)) -			return ('A' - c2); -		else -			return ('a' - c2); -	} else if (isalpha(c2) && !isalpha(c1)) { -		if (isupper(c2)) -			return (c1 - 'A'); -		else -			return (c1 - 'a'); -	} -	if (isupper(c1) && islower(c2)) -		return (-1); -	else if (islower(c1) && isupper(c2)) -		return (1); -	s1[0] = c1; -	s2[0] = c2; -	return strcoll(s1, s2); -} -  /*   * pattern matching function for filenames.  Each occurrence of the *   * pattern causes a recursion level. @@ -735,8 +703,8 @@ match(name, pat, patend)  				++pat;  			while (((c = *pat++) & M_MASK) != M_END)  				if ((*pat & M_MASK) == M_RNG) { -					if (   collcmp(CHAR(c), CHAR(k)) <= 0 -					    && collcmp(CHAR(k), CHAR(pat[1])) <= 0 +					if (   __collcmp(CHAR(c), CHAR(k)) <= 0 +					    && __collcmp(CHAR(k), CHAR(pat[1])) <= 0  					   )  						ok = 1;  					pat += 2; | 
