summaryrefslogtreecommitdiff
path: root/shells
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1996-08-12 21:58:38 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1996-08-12 21:58:38 +0000
commitf4e00da1943a200a5bafe8d1581df9a0a5338444 (patch)
tree7689f444a769497d2601a230b40ad5e8e69bb5a3 /shells
parentUpgrade to 3.0b7 (diff)
Convert to newly added collate compare function
Notes
Notes: svn path=/head/; revision=3587
Diffstat (limited to 'shells')
-rw-r--r--shells/tcsh/files/patch-ad98
1 files changed, 24 insertions, 74 deletions
diff --git a/shells/tcsh/files/patch-ad b/shells/tcsh/files/patch-ad
index 61d4e999f204..51307f0845bc 100644
--- a/shells/tcsh/files/patch-ad
+++ b/shells/tcsh/files/patch-ad
@@ -1,5 +1,26 @@
+*** glob.c.orig Sun May 14 00:49:21 1995
+--- glob.c Tue Aug 13 01:42:43 1996
+***************
+*** 646,652 ****
+ ++pat;
+ while (((c = *pat++) & M_MASK) != M_END) {
+ if ((*pat & M_MASK) == M_RNG) {
+! if (c <= k && k <= pat[1])
+ ok = 1;
+ pat += 2;
+ }
+--- 646,654 ----
+ ++pat;
+ while (((c = *pat++) & M_MASK) != M_END) {
+ if ((*pat & M_MASK) == M_RNG) {
+! if ( collate_range_cmp(CHAR(c), CHAR(k)) <= 0
+! && collate_range_cmp(CHAR(k), CHAR(pat[1])) <= 0
+! )
+ ok = 1;
+ pat += 2;
+ }
*** sh.glob.c.orig Sun May 14 00:49:17 1995
---- sh.glob.c Mon Aug 12 06:36:22 1996
+--- sh.glob.c Tue Aug 13 01:41:34 1996
***************
*** 1038,1045 ****
if (match)
@@ -14,80 +35,9 @@
if (match)
continue;
if (rangec == '-' && *(pattern-2) != '[' && *pattern != ']') {
-! match = ( collcmp(stringc, *pattern & TRIM) <= 0
-! && collcmp(*(pattern-2) & TRIM, stringc) <= 0
+! match = ( collate_range_cmp(stringc, *pattern & TRIM) <= 0
+! && collate_range_cmp(*(pattern-2) & TRIM, stringc) <= 0
! );
pattern++;
}
else
-*** glob.c.orig Sun May 14 00:49:21 1995
---- glob.c Mon Aug 12 06:35:03 1996
-***************
-*** 610,615 ****
---- 610,645 ----
- return ((copy == NULL) ? GLOB_NOSPACE : 0);
- }
-
-+ 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 *
-***************
-*** 646,652 ****
- ++pat;
- while (((c = *pat++) & M_MASK) != M_END) {
- if ((*pat & M_MASK) == M_RNG) {
-! if (c <= k && k <= pat[1])
- ok = 1;
- pat += 2;
- }
---- 676,684 ----
- ++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
-! )
- ok = 1;
- pat += 2;
- }
-*** glob.h.orig Sun May 14 00:49:21 1995
---- glob.h Mon Aug 12 06:35:03 1996
-***************
-*** 65,69 ****
---- 65,70 ----
-
- int glob __P((const char *, int, int (*)(char *, int), glob_t *));
- void globfree __P((glob_t *));
-+ int collcmp __P((int, int));
-
- #endif /* !_GLOB_H_ */