4848
4949#define EOS '\0'
5050
51- #define MATCH_CLASS6 (p ,a ,b ,c ,d ,e ,f ,g ) \
52- ((p)[0]==(a) && (p)[1]==(b) && (p)[2]==(c) && (p)[3]==(d) && (p)[4]==(e) && (p)[5]==(f) && (p)[6]==(g))
51+ #define MATCH_CLASS6 (p , a , b , c , d , e , f , g ) \
52+ ((p)[0] == (a) && (p)[1] == (b) && (p)[2] == (c) && (p)[3] == (d) && (p)[4] == (e) && \
53+ (p)[5] == (f) && (p)[6] == (g))
5354
54- #define MATCH_CLASS7 (p ,a ,b ,c ,d ,e ,f ,g ,h ) \
55- ((p)[0]==(a) && (p)[1]==(b) && (p)[2]==(c) && (p)[3]==(d) && (p)[4]==(e) && (p)[5]==(f) && (p)[6]==(g) && (p)[7]==(h))
55+ #define MATCH_CLASS7 (p , a , b , c , d , e , f , g , h ) \
56+ ((p)[0] == (a) && (p)[1] == (b) && (p)[2] == (c) && (p)[3] == (d) && (p)[4] == (e) && \
57+ (p)[5] == (f) && (p)[6] == (g) && (p)[7] == (h))
5658
5759enum fnm_char_class {
5860 FNM_CC_ALNUM ,
@@ -76,84 +78,84 @@ static bool fnm_cc_is_valid(const char *pattern, size_t psize, enum fnm_char_cla
7678 return false;
7779 }
7880
79- pattern ++ ; /* skip ':' */
81+ pattern ++ ; /* skip ':' */
8082 psize -- ;
8183
8284 /* Each class name ends with ":]" */
8385 switch (pattern [0 ]) {
8486 case 'a' :
85- if (MATCH_CLASS6 (pattern ,'a' ,'l' ,'n' ,'u' ,'m' ,':' ,']' )) {
87+ if (MATCH_CLASS6 (pattern , 'a' , 'l' , 'n' , 'u' , 'm' , ':' , ']' )) {
8688 * cc = FNM_CC_ALNUM ;
8789 return true;
8890 }
89- if (MATCH_CLASS6 (pattern ,'a' ,'l' ,'p' ,'h' ,'a' ,':' ,']' )) {
91+ if (MATCH_CLASS6 (pattern , 'a' , 'l' , 'p' , 'h' , 'a' , ':' , ']' )) {
9092 * cc = FNM_CC_ALPHA ;
9193 return true;
9294 }
9395 break ;
94-
96+
9597 case 'b' :
96- if (MATCH_CLASS6 (pattern ,'b' ,'l' ,'a' ,'n' ,'k' ,':' ,']' )) {
98+ if (MATCH_CLASS6 (pattern , 'b' , 'l' , 'a' , 'n' , 'k' , ':' , ']' )) {
9799 * cc = FNM_CC_BLANK ;
98100 return true;
99101 }
100102 break ;
101103
102104 case 'c' :
103- if (MATCH_CLASS6 (pattern ,'c' ,'n' ,'t' ,'r' ,'l' ,':' ,']' )) {
105+ if (MATCH_CLASS6 (pattern , 'c' , 'n' , 't' , 'r' , 'l' , ':' , ']' )) {
104106 * cc = FNM_CC_CNTRL ;
105107 return true;
106108 }
107109 break ;
108110
109111 case 'd' :
110- if (MATCH_CLASS6 (pattern ,'d' ,'i' ,'g' ,'i' ,'t' ,':' ,']' )) {
112+ if (MATCH_CLASS6 (pattern , 'd' , 'i' , 'g' , 'i' , 't' , ':' , ']' )) {
111113 * cc = FNM_CC_DIGIT ;
112114 return true;
113115 }
114116 break ;
115117
116118 case 'g' :
117- if (MATCH_CLASS6 (pattern ,'g' ,'r' ,'a' ,'p' ,'h' ,':' ,']' )) {
119+ if (MATCH_CLASS6 (pattern , 'g' , 'r' , 'a' , 'p' , 'h' , ':' , ']' )) {
118120 * cc = FNM_CC_GRAPH ;
119121 return true;
120122 }
121123 break ;
122124
123125 case 'l' :
124- if (MATCH_CLASS6 (pattern ,'l' ,'o' ,'w' ,'e' ,'r' ,':' ,']' )) {
126+ if (MATCH_CLASS6 (pattern , 'l' , 'o' , 'w' , 'e' , 'r' , ':' , ']' )) {
125127 * cc = FNM_CC_LOWER ;
126128 return true;
127129 }
128130 break ;
129131
130132 case 'p' :
131- if (MATCH_CLASS6 (pattern ,'p' ,'r' ,'i' ,'n' ,'t' ,':' ,']' )) {
133+ if (MATCH_CLASS6 (pattern , 'p' , 'r' , 'i' , 'n' , 't' , ':' , ']' )) {
132134 * cc = FNM_CC_PRINT ;
133135 return true;
134136 }
135- if (MATCH_CLASS6 (pattern ,'p' ,'u' ,'n' ,'c' ,'t' ,':' ,']' )) {
137+ if (MATCH_CLASS6 (pattern , 'p' , 'u' , 'n' , 'c' , 't' , ':' , ']' )) {
136138 * cc = FNM_CC_PUNCT ;
137139 return true;
138140 }
139141 break ;
140142
141143 case 's' :
142- if (MATCH_CLASS6 (pattern ,'s' ,'p' ,'a' ,'c' ,'e' ,':' ,']' )) {
144+ if (MATCH_CLASS6 (pattern , 's' , 'p' , 'a' , 'c' , 'e' , ':' , ']' )) {
143145 * cc = FNM_CC_SPACE ;
144146 return true;
145147 }
146148 break ;
147149
148150 case 'u' :
149- if (MATCH_CLASS6 (pattern ,'u' ,'p' ,'p' ,'e' ,'r' ,':' ,']' )) {
151+ if (MATCH_CLASS6 (pattern , 'u' , 'p' , 'p' , 'e' , 'r' , ':' , ']' )) {
150152 * cc = FNM_CC_UPPER ;
151153 return true;
152154 }
153155 break ;
154156
155157 case 'x' :
156- if (MATCH_CLASS7 (pattern ,'x' ,'d' ,'i' ,'g' ,'i' ,'t' ,':' ,']' )) {
158+ if (MATCH_CLASS7 (pattern , 'x' , 'd' , 'i' , 'g' , 'i' , 't' , ':' , ']' )) {
157159 * cc = FNM_CC_XDIGIT ;
158160 return true;
159161 }
@@ -169,18 +171,30 @@ static bool fnm_cc_is_valid(const char *pattern, size_t psize, enum fnm_char_cla
169171static inline int fnm_cc_match (int c , enum fnm_char_class cc )
170172{
171173 switch (cc ) {
172- case FNM_CC_ALNUM : return isalnum (c );
173- case FNM_CC_ALPHA : return isalpha (c );
174- case FNM_CC_BLANK : return isblank (c );
175- case FNM_CC_CNTRL : return iscntrl (c );
176- case FNM_CC_DIGIT : return isdigit (c );
177- case FNM_CC_GRAPH : return isgraph (c );
178- case FNM_CC_LOWER : return islower (c );
179- case FNM_CC_PRINT : return isprint (c );
180- case FNM_CC_PUNCT : return ispunct (c );
181- case FNM_CC_SPACE : return isspace (c );
182- case FNM_CC_UPPER : return isupper (c );
183- case FNM_CC_XDIGIT : return isxdigit (c );
174+ case FNM_CC_ALNUM :
175+ return isalnum (c );
176+ case FNM_CC_ALPHA :
177+ return isalpha (c );
178+ case FNM_CC_BLANK :
179+ return isblank (c );
180+ case FNM_CC_CNTRL :
181+ return iscntrl (c );
182+ case FNM_CC_DIGIT :
183+ return isdigit (c );
184+ case FNM_CC_GRAPH :
185+ return isgraph (c );
186+ case FNM_CC_LOWER :
187+ return islower (c );
188+ case FNM_CC_PRINT :
189+ return isprint (c );
190+ case FNM_CC_PUNCT :
191+ return ispunct (c );
192+ case FNM_CC_SPACE :
193+ return isspace (c );
194+ case FNM_CC_UPPER :
195+ return isupper (c );
196+ case FNM_CC_XDIGIT :
197+ return isxdigit (c );
184198 default :
185199 break ;
186200 }
@@ -213,6 +227,7 @@ static bool match_posix_class(const char **pattern, int test)
213227
214228 /* move pattern pointer past ":]" */
215229 const char * end = strstr (p , ":]" );
230+
216231 if (end ) {
217232 * pattern = end + 2 ;
218233 }
0 commit comments