summaryrefslogtreecommitdiffstats
path: root/bin/sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh')
-rw-r--r--bin/sh/expand.c44
1 files changed, 4 insertions, 40 deletions
diff --git a/bin/sh/expand.c b/bin/sh/expand.c
index f4cbac6..922ae98 100644
--- a/bin/sh/expand.c
+++ b/bin/sh/expand.c
@@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: expand.c,v 1.4 1995/05/30 00:07:13 rgrimes Exp $
+ * $Id: expand.c,v 1.5 1996/08/11 22:50:58 ache Exp $
*/
#ifndef lint
@@ -63,6 +63,7 @@ static char sccsid[] = "@(#)expand.c 8.2 (Berkeley) 10/22/93";
#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
+#include <locale.h>
#include <errno.h>
#include <dirent.h>
#include <pwd.h>
@@ -102,7 +103,6 @@ STATIC struct strlist *expsort(struct strlist *);
STATIC struct strlist *msort(struct strlist *, int);
STATIC int pmatch(char *, char *);
STATIC char *exptilde(char *, int);
-STATIC int collcmp (int, int);
#else
STATIC void argstr();
STATIC void expbackq();
@@ -119,7 +119,6 @@ STATIC struct strlist *expsort();
STATIC struct strlist *msort();
STATIC int pmatch();
STATIC char *exptilde();
-STATIC int collcmp ();
#endif
/*
@@ -1021,41 +1020,6 @@ patmatch(pattern, string)
}
STATIC int
-collcmp (c1, c2)
-int c1, c2;
-{
- static char s1[2], s2[2];
-
- c1 &= 0xFF;
- c2 &= 0xFF;
- 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);
-}
-
-
-STATIC int
pmatch(pattern, string)
char *pattern;
char *string;
@@ -1122,8 +1086,8 @@ pmatch(pattern, string)
p++;
if (*p == CTLESC)
p++;
- if ( collcmp(chr, c) >= 0
- && collcmp(chr, *p) <= 0
+ if ( collate_range_cmp(chr, c) >= 0
+ && collate_range_cmp(chr, *p) <= 0
)
found = 1;
p++;
OpenPOWER on IntegriCloud