author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Tue, 11 Oct 2016 16:58:27 -0700 | |
changeset 7091 | 08a4029cbd6c |
parent 5518 | c47fe0edc204 |
permissions | -rw-r--r-- |
5518
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.3 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash43-008 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: Stephane Chazelas <[email protected]> |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: <[email protected]> |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
Some extended glob patterns incorrectly matched filenames with a leading |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
dot, regardless of the setting of the `dotglob' option. |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
Patch (apply with `patch -p0'): |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*** 211,214 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
--- 211,215 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
case '!': |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
case '@': |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
+ case '?': |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
return (pat[1] == LPAREN); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
default: |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
*** 180,202 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
int flags; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
! char *pp, *pe, *t; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
! int n, r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
pp = pat + 2; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
! pe = pp + strlen (pp) - 1; /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
! if (*pe != ')') |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
! return 0; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
! if ((t = strchr (pp, '|')) == 0) /* easy case first */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
*pe = '\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
r = skipname (pp, dname, flags); /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
*pe = ')'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
} |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
while (t = glob_patscan (pp, pe, '|')) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
n = t[-1]; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
t[-1] = '\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
r = skipname (pp, dname, flags); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
t[-1] = n; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
if (r == 0) /* if any pattern says not skip, we don't skip */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
--- 180,215 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
int flags; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
! char *pp, *pe, *t, *se; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
! int n, r, negate; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
+ negate = *pat == '!'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
pp = pat + 2; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
! se = pp + strlen (pp) - 1; /* end of string */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
! /* we should check for invalid extglob pattern here */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
! /* if pe != se we have more of the pattern at the end of the extglob |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
! pattern. Check the easy case first ( */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
*pe = '\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
+ #if defined (HANDLE_MULTIBYTE) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
+ r = mbskipname (pp, dname, flags); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
+ #else |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
r = skipname (pp, dname, flags); /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
+ #endif |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
*pe = ')'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
} |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
+ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
+ /* check every subpattern */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
while (t = glob_patscan (pp, pe, '|')) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
n = t[-1]; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
t[-1] = '\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
+ #if defined (HANDLE_MULTIBYTE) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
+ r = mbskipname (pp, dname, flags); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
+ #else |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
r = skipname (pp, dname, flags); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
+ #endif |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
t[-1] = n; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
if (r == 0) /* if any pattern says not skip, we don't skip */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
*** 205,219 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
} /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
! if (pp == pe) /* glob_patscan might find end of pattern */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
! *pe = '\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
! # if defined (HANDLE_MULTIBYTE) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
! r = mbskipname (pp, dname, flags); /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
! # else |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
! r = skipname (pp, dname, flags); /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
! # endif |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
! *pe = ')'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
! return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
} |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
#endif |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
--- 218,227 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
} /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
! /* glob_patscan might find end of pattern */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
! if (pp == se) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
! /* but if it doesn't then we didn't match a leading dot */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
! return 0; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
} |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
#endif |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
*** 278,289 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
#if EXTENDED_GLOB |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
! wchar_t *pp, *pe, *t, n; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
! int r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
pp = pat + 2; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
! pe = pp + wcslen (pp) - 1; /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
! if (*pe != L')') |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
! return 0; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
! if ((t = wcschr (pp, L'|')) == 0) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
*pe = L'\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
--- 286,298 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
#if EXTENDED_GLOB |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
! wchar_t *pp, *pe, *t, n, *se; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
! int r, negate; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
+ negate = *pat == L'!'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
pp = pat + 2; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
! se = pp + wcslen (pp) - 1; /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
! pe = glob_patscan_wc (pp, se, 0); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
! |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
*pe = L'\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
*** 292,295 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
--- 301,306 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
} |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
+ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
+ /* check every subpattern */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
while (t = glob_patscan_wc (pp, pe, '|')) |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
{ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
*** 306,313 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
! *pe = L'\0'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
! r = wchkname (pp, dname); /*(*/ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
! *pe = L')'; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
! return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
#else |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
return (wchkname (pat, dname)); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
--- 317,322 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
return r; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
! /* but if it doesn't then we didn't match a leading dot */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
! return 0; |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
#else |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
return (wchkname (pat, dname)); |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
174 |
*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
175 |
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
176 |
*************** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
177 |
*** 26,30 **** |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
178 |
looks for to find the patch level (for the sccs version string). */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
179 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
180 |
! #define PATCHLEVEL 7 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
181 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
182 |
#endif /* _PATCHLEVEL_H_ */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
183 |
--- 26,30 ---- |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
184 |
looks for to find the patch level (for the sccs version string). */ |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
185 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
186 |
! #define PATCHLEVEL 8 |
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
187 |
|
c47fe0edc204
20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
188 |
#endif /* _PATCHLEVEL_H_ */ |