From 3ea37deb6c92f24b6eb71d296cf45bc649016fa9 Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Wed, 13 Jul 2016 08:13:09 +0000 Subject: [PATCH] After removing collation for [a-z] ranges in r302512, do it here too. Approved by: jilles --- bin/sh/expand.c | 15 +-------------- bin/sh/tests/builtins/case7.0 | 7 +------ 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/bin/sh/expand.c b/bin/sh/expand.c index 6d0d78a398df..25864bae13a2 100644 --- a/bin/sh/expand.c +++ b/bin/sh/expand.c @@ -107,7 +107,6 @@ static void expmeta(char *, char *, struct arglist *); static int expsortcmp(const void *, const void *); static int patmatch(const char *, const char *); static void cvtnum(int, char *); -static int collate_range_cmp(wchar_t, wchar_t); void emptyarglist(struct arglist *list) @@ -138,16 +137,6 @@ appendarglist(struct arglist *list, char *str) list->args[list->count++] = str; } -static int -collate_range_cmp(wchar_t c1, wchar_t c2) -{ - static wchar_t s1[2], s2[2]; - - s1[0] = c1; - s2[0] = c2; - return (wcscoll(s1, s2)); -} - static char * stputs_quotes(const char *data, const char *syntax, char *p) { @@ -1359,9 +1348,7 @@ patmatch(const char *pattern, const char *string) return 0; } else wc2 = (unsigned char)*p++; - if ( collate_range_cmp(chr, wc) >= 0 - && collate_range_cmp(chr, wc2) <= 0 - ) + if (wc <= chr && chr <= wc2) found = 1; } else { if (chr == wc) diff --git a/bin/sh/tests/builtins/case7.0 b/bin/sh/tests/builtins/case7.0 index 96b9de66fe27..54db93d8ceb6 100644 --- a/bin/sh/tests/builtins/case7.0 +++ b/bin/sh/tests/builtins/case7.0 @@ -14,11 +14,6 @@ c1=e c2=$(printf '\366') case $c1$c2 in -[a-z][a-z]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2 in -[a-f][n-p]) ;; +[a-z][!a-z]) ;; *) echo wrong at $LINENO ;; esac