OpenCoverage

glob.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/bash/src/lib/glob/glob.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16-
17-
18-
19struct globval-
20 {-
21 struct globval *next;-
22 char *name;-
23 };-
24-
25extern void throw_to_top_level (void);-
26extern int sh_eaccess (const char *, int);-
27extern char *sh_makepath (const char *, const char *, int);-
28extern int signal_is_pending (int);-
29extern void run_pending_traps (void);-
30-
31extern int extended_glob;-
32-
33-
34-
35int noglob_dot_filenames = 1;-
36-
37-
38-
39int glob_ignore_case = 0;-
40-
41-
42char *glob_error_return;-
43-
44static struct globval finddirs_error_return;-
45-
46-
47static int skipname (char *, char *, int);-
48-
49static int mbskipname (char *, char *, int);-
50-
51-
52static void udequote_pathname (char *);-
53static void wdequote_pathname (char *);-
54-
55-
56-
57static void dequote_pathname (char *);-
58static int glob_testdir (char *, int);-
59static char **glob_dir_to_array (char *, char **, int);-
60-
61-
62extern char *glob_patscan (char *, char *, int);-
63extern wchar_t *glob_patscan_wc (wchar_t *, wchar_t *, int);-
64-
65-
66extern int wextglob_pattern_p (wchar_t *);-
67-
68extern char *glob_dirscan (char *, int);-
69-
70-
71-
72-
73-
74-
75-
76-
77-
78-
79-
80-
81int-
82glob_pattern_p (pattern)-
83 const char *pattern;-
84{-
85-
86 size_t n;-
87 wchar_t *wpattern;-
88 int r;-
89-
90 if (-
91 (
(__ctype_get_m...r_max ()) == 1Description
TRUEevaluated 1185 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1095 times by 1 test
Evaluated by:
  • Self test
__ctype_get_mb_cur_max ())
(__ctype_get_m...r_max ()) == 1Description
TRUEevaluated 1185 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1095 times by 1 test
Evaluated by:
  • Self test
1095-1185
92 == 1
(__ctype_get_m...r_max ()) == 1Description
TRUEevaluated 1185 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1095 times by 1 test
Evaluated by:
  • Self test
)
1095-1185
93 return
executed 1185 times by 1 test: return (internal_glob_pattern_p ((unsigned char *)pattern));
Executed by:
  • Self test
(internal_glob_pattern_p ((unsigned char *)pattern));
executed 1185 times by 1 test: return (internal_glob_pattern_p ((unsigned char *)pattern));
Executed by:
  • Self test
1185
94-
95-
96 n = xdupmbstowcs (&wpattern, -
97 ((void *)0)-
98 , pattern);-
99 if (n == (size_t)-1
n == (size_t)-1Description
TRUEnever evaluated
FALSEevaluated 1095 times by 1 test
Evaluated by:
  • Self test
)
0-1095
100-
101 return
never executed: return (internal_glob_pattern_p ((unsigned char *)pattern));
(internal_glob_pattern_p ((unsigned char *)pattern));
never executed: return (internal_glob_pattern_p ((unsigned char *)pattern));
0
102-
103 r = internal_glob_wpattern_p (wpattern);-
104 sh_xfree((wpattern), "glob.c", 172);-
105-
106 return
executed 1095 times by 1 test: return r;
Executed by:
  • Self test
r;
executed 1095 times by 1 test: return r;
Executed by:
  • Self test
1095
107-
108-
109-
110}-
111-
112-
113-
114-
115-
116static int-
117extglob_skipname (pat, dname, flags)-
118 char *pat, *dname;-
119 int flags;-
120{-
121 char *pp, *pe, *t, *se;-
122 int n, r, negate, wild;-
123-
124 negate = *pat == '!';-
125 wild = *
*pat == '*'Description
TRUEevaluated 46 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2306 times by 1 test
Evaluated by:
  • Self test
pat == '*'
*pat == '*'Description
TRUEevaluated 46 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2306 times by 1 test
Evaluated by:
  • Self test
|| *
*pat == '?'Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2290 times by 1 test
Evaluated by:
  • Self test
pat == '?'
*pat == '?'Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2290 times by 1 test
Evaluated by:
  • Self test
;
16-2306
126 pp = pat + 2;-
127 se = pp + strlen (pp) - 1;-
128 pe = glob_patscan (pp, se, 0);-
129-
130 if (pe == 0
pe == 0Description
TRUEnever evaluated
FALSEevaluated 2352 times by 1 test
Evaluated by:
  • Self test
)
0-2352
131 return
never executed: return 0;
0;
never executed: return 0;
0
132-
133-
134-
135 if (pe == se
pe == seDescription
TRUEevaluated 2314 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 38 times by 1 test
Evaluated by:
  • Self test
&& *
*pe == ')'Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 58 times by 1 test
Evaluated by:
  • Self test
pe == ')'
*pe == ')'Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 58 times by 1 test
Evaluated by:
  • Self test
&& (
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
t =
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
38-2314
136 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( '|' )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
137 '|'
__builtin_constant_p ( '|' )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
138 )
__builtin_constant_p ( '|' )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_constant_p ( pp )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
139 pp
!__builtin_constant_p ( pp )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
140 )
!__builtin_constant_p ( pp )Description
TRUEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& (
( '|' ) == '\0'Description
TRUEnever evaluated
FALSEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
141 '|'
( '|' ) == '\0'Description
TRUEnever evaluated
FALSEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
142 ) == '\0'
( '|' ) == '\0'Description
TRUEnever evaluated
FALSEevaluated 2256 times by 1 test
Evaluated by:
  • Self test
? (char *) __rawmemchr (
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
0-2256
143 pp
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
144 ,
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
145 '|'
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
146 ) : __builtin_strchr (
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
147 pp
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
148 ,
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
149 '|'
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
150 )))
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
144-2112
151 ) == 0
(t = (__extens...'|' ))) ) == 0Description
TRUEevaluated 2112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 144 times by 1 test
Evaluated by:
  • Self test
)
144-2112
152 {-
153 *pe = '\0';-
154-
155 r = mbskipname (pp, dname, flags);-
156-
157-
158-
159 *pe = ')';-
160 if (wild
wildDescription
TRUEevaluated 22 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2090 times by 1 test
Evaluated by:
  • Self test
&& pe[1]
pe[1]Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • Self test
)
0-2090
161 return
never executed: return (skipname (pe+1, dname, flags));
(skipname (pe+1, dname, flags));
never executed: return (skipname (pe+1, dname, flags));
0
162 return
executed 2112 times by 1 test: return r;
Executed by:
  • Self test
r;
executed 2112 times by 1 test: return r;
Executed by:
  • Self test
2112
163 }-
164-
165-
166 while (t = glob_patscan (pp, pe, '|')
t = glob_patscan (pp, pe, '|')Description
TRUEevaluated 275 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 69 times by 1 test
Evaluated by:
  • Self test
)
69-275
167 {-
168 n = t[-1];-
169 if (extglob_pattern_p (pp)
extglob_pattern_p (pp)Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 211 times by 1 test
Evaluated by:
  • Self test
&& n == ')'
n == ')'Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-211
170 t[-1] = n;
executed 64 times by 1 test: t[-1] = n;
Executed by:
  • Self test
64
171 else-
172 t[-1] = '\0';
executed 211 times by 1 test: t[-1] = '\0';
Executed by:
  • Self test
211
173-
174 r = mbskipname (pp, dname, flags);-
175-
176-
177-
178 t[-1] = n;-
179 if (r == 0
r == 0Description
TRUEevaluated 171 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 104 times by 1 test
Evaluated by:
  • Self test
)
104-171
180 return
executed 171 times by 1 test: return r;
Executed by:
  • Self test
r;
executed 171 times by 1 test: return r;
Executed by:
  • Self test
171
181 pp = t;-
182 }
executed 104 times by 1 test: end of block
Executed by:
  • Self test
104
183-
184-
185 if (pp == se
pp == seDescription
TRUEevaluated 46 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 23 times by 1 test
Evaluated by:
  • Self test
)
23-46
186 return
executed 46 times by 1 test: return r;
Executed by:
  • Self test
r;
executed 46 times by 1 test: return r;
Executed by:
  • Self test
46
187-
188-
189 if (wild
wildDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test
&& *
*peDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
pe
*peDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-14
190 return
executed 14 times by 1 test: return (skipname (pe, dname, flags));
Executed by:
  • Self test
(skipname (pe, dname, flags));
executed 14 times by 1 test: return (skipname (pe, dname, flags));
Executed by:
  • Self test
14
191 return
executed 9 times by 1 test: return 1;
Executed by:
  • Self test
1;
executed 9 times by 1 test: return 1;
Executed by:
  • Self test
9
192}-
193-
194-
195-
196-
197static int-
198skipname (pat, dname, flags)-
199 char *pat;-
200 char *dname;-
201 int flags;-
202{-
203-
204 if (extglob_pattern_p (pat)
extglob_pattern_p (pat)Description
TRUEevaluated 2352 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 983727 times by 1 test
Evaluated by:
  • Self test
)
2352-983727
205 return
executed 2352 times by 1 test: return (extglob_skipname (pat, dname, flags));
Executed by:
  • Self test
(extglob_skipname (pat, dname, flags));
executed 2352 times by 1 test: return (extglob_skipname (pat, dname, flags));
Executed by:
  • Self test
2352
206-
207-
208-
209-
210 if (noglob_dot_filenames == 0
noglob_dot_filenames == 0Description
TRUEevaluated 164 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 983563 times by 1 test
Evaluated by:
  • Self test
&& pat[0] != '.'
pat[0] != '.'Description
TRUEevaluated 164 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&&
0-983563
211 (pat[0] != '\\'
pat[0] != '\\'Description
TRUEevaluated 164 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
|| pat[1] != '.'
pat[1] != '.'Description
TRUEnever evaluated
FALSEnever evaluated
) &&
0-164
212 (dname[0] == '.'
dname[0] == '.'Description
TRUEevaluated 34 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 130 times by 1 test
Evaluated by:
  • Self test
&&
34-130
213 (dname[1] == '\0'
dname[1] == '\0'Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 26 times by 1 test
Evaluated by:
  • Self test
|| (dname[1] == '.'
dname[1] == '.'Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 18 times by 1 test
Evaluated by:
  • Self test
&& dname[2] == '\0'
dname[2] == '\0'Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
))))
0-26
214 return
executed 16 times by 1 test: return 1;
Executed by:
  • Self test
1;
executed 16 times by 1 test: return 1;
Executed by:
  • Self test
16
215-
216-
217 else if (noglob_dot_filenames
noglob_dot_filenamesDescription
TRUEevaluated 983563 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 148 times by 1 test
Evaluated by:
  • Self test
&& dname[0] == '.'
dname[0] == '.'Description
TRUEevaluated 3164 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 980399 times by 1 test
Evaluated by:
  • Self test
&& pat[0] != '.'
pat[0] != '.'Description
TRUEevaluated 3138 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 26 times by 1 test
Evaluated by:
  • Self test
&&
26-983563
218 (pat[0] != '\\'
pat[0] != '\\'Description
TRUEevaluated 3120 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 18 times by 1 test
Evaluated by:
  • Self test
|| pat[1] != '.'
pat[1] != '.'Description
TRUEevaluated 18 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
))
0-3120
219 return
executed 3138 times by 1 test: return 1;
Executed by:
  • Self test
1;
executed 3138 times by 1 test: return 1;
Executed by:
  • Self test
3138
220-
221 return
executed 980573 times by 1 test: return 0;
Executed by:
  • Self test
0;
executed 980573 times by 1 test: return 0;
Executed by:
  • Self test
980573
222}-
223-
224-
225-
226static int-
227wskipname (pat, dname, flags)-
228 wchar_t *pat, *dname;-
229 int flags;-
230{-
231-
232-
233 if (noglob_dot_filenames == 0
noglob_dot_filenames == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& pat[0] != L'.'
pat[0] != L'.'Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
234 (pat[0] != L'\\'
pat[0] != L'\\'Description
TRUEnever evaluated
FALSEnever evaluated
|| pat[1] != L'.'
pat[1] != L'.'Description
TRUEnever evaluated
FALSEnever evaluated
) &&
0
235 (dname[0] == L'.'
dname[0] == L'.'Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
236 (dname[1] == L'\0'
dname[1] == L'\0'Description
TRUEnever evaluated
FALSEnever evaluated
|| (dname[1] == L'.'
dname[1] == L'.'Description
TRUEnever evaluated
FALSEnever evaluated
&& dname[2] == L'\0'
dname[2] == L'\0'Description
TRUEnever evaluated
FALSEnever evaluated
))))
0
237 return
never executed: return 1;
1;
never executed: return 1;
0
238-
239-
240-
241 else if (noglob_dot_filenames
noglob_dot_filenamesDescription
TRUEnever evaluated
FALSEnever evaluated
&& dname[0] == L'.'
dname[0] == L'.'Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
242 pat[0] != L'.'
pat[0] != L'.'Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
243 (pat[0] != L'\\'
pat[0] != L'\\'Description
TRUEnever evaluated
FALSEnever evaluated
|| pat[1] != L'.'
pat[1] != L'.'Description
TRUEnever evaluated
FALSEnever evaluated
))
0
244 return
never executed: return 1;
1;
never executed: return 1;
0
245-
246 return
never executed: return 0;
0;
never executed: return 0;
0
247}-
248-
249static int-
250wextglob_skipname (pat, dname, flags)-
251 wchar_t *pat, *dname;-
252 int flags;-
253{-
254-
255 wchar_t *pp, *pe, *t, n, *se;-
256 int r, negate, wild;-
257-
258 negate = *pat == L'!';-
259 wild = *
*pat == L'*'Description
TRUEnever evaluated
FALSEnever evaluated
pat == L'*'
*pat == L'*'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*pat == L'?'Description
TRUEnever evaluated
FALSEnever evaluated
pat == L'?'
*pat == L'?'Description
TRUEnever evaluated
FALSEnever evaluated
;
0
260 pp = pat + 2;-
261 se = pp + wcslen (pp) - 1;-
262 pe = glob_patscan_wc (pp, se, 0);-
263-
264 if (pe == se
pe == seDescription
TRUEnever evaluated
FALSEnever evaluated
&& *
*pe == ')'Description
TRUEnever evaluated
FALSEnever evaluated
pe == ')'
*pe == ')'Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(t = wcschr (pp, L'|')) == 0Description
TRUEnever evaluated
FALSEnever evaluated
t = wcschr (pp, L'|')) == 0
(t = wcschr (pp, L'|')) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
265 {-
266 *pe = L'\0';-
267 r = wskipname (pp, dname, flags);-
268 *pe = L')';-
269 if (wild
wildDescription
TRUEnever evaluated
FALSEnever evaluated
&& pe[1] != L'\0'
pe[1] != L'\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
270 return
never executed: return (wskipname (pe+1, dname, flags));
(wskipname (pe+1, dname, flags));
never executed: return (wskipname (pe+1, dname, flags));
0
271 return
never executed: return r;
r;
never executed: return r;
0
272 }-
273-
274-
275 while (t = glob_patscan_wc (pp, pe, '|')
t = glob_patsc... (pp, pe, '|')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
276 {-
277 n = t[-1];-
278 if (wextglob_pattern_p (pp)
wextglob_pattern_p (pp)Description
TRUEnever evaluated
FALSEnever evaluated
&& n == L')'
n == L')'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
279 t[-1] = n;
never executed: t[-1] = n;
0
280 else-
281 t[-1] = L'\0';
never executed: t[-1] = L'\0';
0
282 r = wskipname (pp, dname, flags);-
283 t[-1] = n;-
284 if (r == 0
r == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
285 return
never executed: return 0;
0;
never executed: return 0;
0
286 pp = t;-
287 }
never executed: end of block
0
288-
289 if (pp == pe
pp == peDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
290 return
never executed: return r;
r;
never executed: return r;
0
291-
292-
293 if (wild
wildDescription
TRUEnever evaluated
FALSEnever evaluated
&& *
*pe != L'\0'Description
TRUEnever evaluated
FALSEnever evaluated
pe != L'\0'
*pe != L'\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
294 return
never executed: return (wskipname (pe, dname, flags));
(wskipname (pe, dname, flags));
never executed: return (wskipname (pe, dname, flags));
0
295 return
never executed: return 1;
1;
never executed: return 1;
0
296-
297-
298-
299}-
300-
301-
302-
303static int-
304mbskipname (pat, dname, flags)-
305 char *pat, *dname;-
306 int flags;-
307{-
308 int ret, ext;-
309 wchar_t *pat_wc, *dn_wc;-
310 size_t pat_n, dn_n;-
311-
312 if (mbsmbchar (dname) == 0
mbsmbchar (dname) == 0Description
TRUEevaluated 487247 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& mbsmbchar (pat) == 0
mbsmbchar (pat) == 0Description
TRUEevaluated 487247 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-487247
313 return
executed 487247 times by 1 test: return (skipname (pat, dname, flags));
Executed by:
  • Self test
(skipname (pat, dname, flags));
executed 487247 times by 1 test: return (skipname (pat, dname, flags));
Executed by:
  • Self test
487247
314-
315 ext = 0;-
316-
317 ext = extglob_pattern_p (pat);-
318-
319-
320 pat_wc = dn_wc = (wchar_t *)-
321 ((void *)0)-
322 ;-
323-
324 pat_n = xdupmbstowcs (&pat_wc, -
325 ((void *)0)-
326 , pat);-
327 if (pat_n != (size_t)-1
pat_n != (size_t)-1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
328 dn_n = xdupmbstowcs (&dn_wc,
never executed: dn_n = xdupmbstowcs (&dn_wc, ((void *)0) , dname);
0
329 ((void *)0)
never executed: dn_n = xdupmbstowcs (&dn_wc, ((void *)0) , dname);
0
330 , dname);
never executed: dn_n = xdupmbstowcs (&dn_wc, ((void *)0) , dname);
0
331-
332 ret = 0;-
333 if (pat_n != (size_t)-1
pat_n != (size_t)-1Description
TRUEnever evaluated
FALSEnever evaluated
&& dn_n !=(size_t)-1
dn_n !=(size_t)-1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
334 ret = ext
extDescription
TRUEnever evaluated
FALSEnever evaluated
? wextglob_skipname (pat_wc, dn_wc, flags) : wskipname (pat_wc, dn_wc, flags);
never executed: ret = ext ? wextglob_skipname (pat_wc, dn_wc, flags) : wskipname (pat_wc, dn_wc, flags);
0
335 else-
336 ret = skipname (pat, dname, flags);
never executed: ret = skipname (pat, dname, flags);
0
337-
338 do { if (pat_wc
pat_wcDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((pat_wc), "glob.c", 384);
never executed: sh_xfree((pat_wc), "glob.c", 384);
} while (0);
0
339 do { if (dn_wc
dn_wcDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((dn_wc), "glob.c", 385);
never executed: sh_xfree((dn_wc), "glob.c", 385);
} while (0);
0
340-
341 return
never executed: return ret;
ret;
never executed: return ret;
0
342}-
343-
344-
345-
346static void-
347udequote_pathname (pathname)-
348 char *pathname;-
349{-
350 register int i, j;-
351-
352 for (i = j = 0; pathname
pathnameDescription
TRUEevaluated 423 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& pathname[i]
pathname[i]Description
TRUEevaluated 228 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 195 times by 1 test
Evaluated by:
  • Self test
; )
0-423
353 {-
354 if (pathname[i] == '\\'
pathname[i] == '\\'Description
TRUEnever evaluated
FALSEevaluated 228 times by 1 test
Evaluated by:
  • Self test
)
0-228
355 i++;
never executed: i++;
0
356-
357 pathname[j++] = pathname[i++];-
358-
359 if (pathname[i - 1] == 0
pathname[i - 1] == 0Description
TRUEnever evaluated
FALSEevaluated 228 times by 1 test
Evaluated by:
  • Self test
)
0-228
360 break;
never executed: break;
0
361 }
executed 228 times by 1 test: end of block
Executed by:
  • Self test
228
362 if (pathname
pathnameDescription
TRUEevaluated 195 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-195
363 pathname[j] = '\0';
executed 195 times by 1 test: pathname[j] = '\0';
Executed by:
  • Self test
195
364}
executed 195 times by 1 test: end of block
Executed by:
  • Self test
195
365-
366-
367-
368static void-
369wdequote_pathname (pathname)-
370 char *pathname;-
371{-
372 mbstate_t ps;-
373 size_t len, n;-
374 wchar_t *wpathname;-
375 int i, j;-
376 wchar_t *orig_wpathname;-
377-
378 len = strlen (pathname);-
379-
380 n = xdupmbstowcs (&wpathname, -
381 ((void *)0)-
382 , pathname);-
383 if (n == (size_t) -1
n == (size_t) -1Description
TRUEnever evaluated
FALSEevaluated 103 times by 1 test
Evaluated by:
  • Self test
)
0-103
384 {-
385-
386 udequote_pathname (pathname);-
387 return;
never executed: return;
0
388 }-
389 orig_wpathname = wpathname;-
390-
391 for (i = j = 0; wpathname
wpathnameDescription
TRUEevaluated 382 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& wpathname[i]
wpathname[i]Description
TRUEevaluated 279 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 103 times by 1 test
Evaluated by:
  • Self test
; )
0-382
392 {-
393 if (wpathname[i] == L'\\'
wpathname[i] == L'\\'Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEevaluated 278 times by 1 test
Evaluated by:
  • Self test
)
1-278
394 i++;
executed 1 time by 1 test: i++;
Executed by:
  • Self test
1
395-
396 wpathname[j++] = wpathname[i++];-
397-
398 if (wpathname[i - 1] == L'\0'
wpathname[i - 1] == L'\0'Description
TRUEnever evaluated
FALSEevaluated 279 times by 1 test
Evaluated by:
  • Self test
)
0-279
399 break;
never executed: break;
0
400 }
executed 279 times by 1 test: end of block
Executed by:
  • Self test
279
401 if (wpathname
wpathnameDescription
TRUEevaluated 103 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-103
402 wpathname[j] = L'\0';
executed 103 times by 1 test: wpathname[j] = L'\0';
Executed by:
  • Self test
103
403-
404-
405 memset (&ps, '\0', sizeof(mbstate_t));-
406 n = wcsrtombs(pathname, (const wchar_t **)&wpathname, len, &ps);-
407 pathname[len] = '\0';-
408-
409-
410 sh_xfree((orig_wpathname), "glob.c", 454);-
411}
executed 103 times by 1 test: end of block
Executed by:
  • Self test
103
412-
413static void-
414dequote_pathname (pathname)-
415 char *pathname;-
416{-
417 if (-
418 (
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 103 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 195 times by 1 test
Evaluated by:
  • Self test
__ctype_get_mb_cur_max ())
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 103 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 195 times by 1 test
Evaluated by:
  • Self test
103-195
419 > 1
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 103 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 195 times by 1 test
Evaluated by:
  • Self test
)
103-195
420 wdequote_pathname (pathname);
executed 103 times by 1 test: wdequote_pathname (pathname);
Executed by:
  • Self test
103
421 else-
422 udequote_pathname (pathname);
executed 195 times by 1 test: udequote_pathname (pathname);
Executed by:
  • Self test
195
423}-
424static int-
425glob_testdir (dir, flags)-
426 char *dir;-
427 int flags;-
428{-
429 struct stat finfo;-
430 int r;-
431-
432-
433-
434 r = (
(flags & 0x010)Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 197 times by 1 test
Evaluated by:
  • Self test
flags & 0x010)
(flags & 0x010)Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 197 times by 1 test
Evaluated by:
  • Self test
? lstat (dir, &finfo) : stat (dir, &finfo);
197-817
435-
436-
437-
438 if (r < 0
r < 0Description
TRUEnever evaluated
FALSEevaluated 1014 times by 1 test
Evaluated by:
  • Self test
)
0-1014
439 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
440-
441 if (-
442 ((((
(((( finfo.st_...0040000)) == 0Description
TRUEevaluated 166 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 848 times by 1 test
Evaluated by:
  • Self test
166-848
443 finfo.st_mode
(((( finfo.st_...0040000)) == 0Description
TRUEevaluated 166 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 848 times by 1 test
Evaluated by:
  • Self test
166-848
444 )) & 0170000) == (0040000))
(((( finfo.st_...0040000)) == 0Description
TRUEevaluated 166 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 848 times by 1 test
Evaluated by:
  • Self test
166-848
445 == 0
(((( finfo.st_...0040000)) == 0Description
TRUEevaluated 166 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 848 times by 1 test
Evaluated by:
  • Self test
)
166-848
446 return
executed 166 times by 1 test: return (-1);
Executed by:
  • Self test
(-1);
executed 166 times by 1 test: return (-1);
Executed by:
  • Self test
166
447-
448 return
executed 848 times by 1 test: return (0);
Executed by:
  • Self test
(0);
executed 848 times by 1 test: return (0);
Executed by:
  • Self test
848
449}-
450-
451-
452-
453-
454-
455-
456-
457static struct globval *-
458finddirs (pat, sdir, flags, ep, np)-
459 char *pat;-
460 char *sdir;-
461 int flags;-
462 struct globval **ep;-
463 int *np;-
464{-
465 char **r, *n;-
466 int ndirs;-
467 struct globval *ret, *e, *g;-
468-
469-
470 e = ret = 0;-
471 r = glob_vector (pat, sdir, flags);-
472 if (r == 0
r == 0Description
TRUEnever evaluated
FALSEevaluated 654 times by 1 test
Evaluated by:
  • Self test
|| r[0] == 0
r[0] == 0Description
TRUEevaluated 365 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 289 times by 1 test
Evaluated by:
  • Self test
)
0-654
473 {-
474 if (np
npDescription
TRUEevaluated 365 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-365
475 *
executed 365 times by 1 test: *np = 0;
Executed by:
  • Self test
np = 0;
executed 365 times by 1 test: *np = 0;
Executed by:
  • Self test
365
476 if (ep
epDescription
TRUEevaluated 365 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-365
477 *
executed 365 times by 1 test: *ep = 0;
Executed by:
  • Self test
ep = 0;
executed 365 times by 1 test: *ep = 0;
Executed by:
  • Self test
365
478 if (r
rDescription
TRUEevaluated 365 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& r != &glob_error_return
r != &glob_error_returnDescription
TRUEevaluated 365 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-365
479 sh_xfree((r), "glob.c", 532);
executed 365 times by 1 test: sh_xfree((r), "glob.c", 532);
Executed by:
  • Self test
365
480 return
executed 365 times by 1 test: return (struct globval *)0;
Executed by:
  • Self test
(struct globval *)0;
executed 365 times by 1 test: return (struct globval *)0;
Executed by:
  • Self test
365
481 }-
482 for (ndirs = 0; r[ndirs] != 0
r[ndirs] != 0Description
TRUEevaluated 1308 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 289 times by 1 test
Evaluated by:
  • Self test
; ndirs++)
289-1308
483 {-
484 g = (struct globval *) malloc (sizeof (struct globval));-
485 if (g == 0
g == 0Description
TRUEnever evaluated
FALSEevaluated 1308 times by 1 test
Evaluated by:
  • Self test
)
0-1308
486 {-
487 while (ret
retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
488 {-
489 g = ret->next;-
490 sh_xfree((ret), "glob.c", 543);-
491 ret = g;-
492 }
never executed: end of block
0
493-
494 sh_xfree((r), "glob.c", 547);-
495 if (np
npDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
496 *
never executed: *np = 0;
np = 0;
never executed: *np = 0;
0
497 if (ep
epDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
498 *
never executed: *ep = 0;
ep = 0;
never executed: *ep = 0;
0
499 return
never executed: return (&finddirs_error_return);
(&finddirs_error_return);
never executed: return (&finddirs_error_return);
0
500 }-
501 if (e == 0
e == 0Description
TRUEevaluated 289 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1019 times by 1 test
Evaluated by:
  • Self test
)
289-1019
502 e = g;
executed 289 times by 1 test: e = g;
Executed by:
  • Self test
289
503-
504 g->next = ret;-
505 ret = g;-
506-
507 g->name = r[ndirs];-
508 }
executed 1308 times by 1 test: end of block
Executed by:
  • Self test
1308
509-
510 sh_xfree((r), "glob.c", 563);-
511 if (ep
epDescription
TRUEevaluated 289 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-289
512 *
executed 289 times by 1 test: *ep = e;
Executed by:
  • Self test
ep = e;
executed 289 times by 1 test: *ep = e;
Executed by:
  • Self test
289
513 if (np
npDescription
TRUEevaluated 289 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-289
514 *
executed 289 times by 1 test: *np = ndirs;
Executed by:
  • Self test
np = ndirs;
executed 289 times by 1 test: *np = ndirs;
Executed by:
  • Self test
289
515-
516 return
executed 289 times by 1 test: return ret;
Executed by:
  • Self test
ret;
executed 289 times by 1 test: return ret;
Executed by:
  • Self test
289
517}-
518char **-
519glob_vector (pat, dir, flags)-
520 char *pat;-
521 char *dir;-
522 int flags;-
523{-
524 DIR *d;-
525 register struct dirent *dp;-
526 struct globval *lastlink, *e, *dirlist;-
527 register struct globval *nextlink;-
528 register char *nextname, *npat, *subdir;-
529 unsigned int count;-
530 int lose, skip, ndirs, isdir, sdlen, add_current, patlen;-
531 register char **name_vector;-
532 register unsigned int i;-
533 int mflags;-
534 int pflags;-
535 int nalloca;-
536 struct globval *firstmalloc, *tmplink;-
537 char *convfn;-
538-
539 lastlink = 0;-
540 count = lose = skip = add_current = 0;-
541-
542 firstmalloc = 0;-
543 nalloca = 0;-
544-
545-
546-
547 if (pat == 0
pat == 0Description
TRUEnever evaluated
FALSEevaluated 1896 times by 1 test
Evaluated by:
  • Self test
|| *
*pat == '\0'Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1890 times by 1 test
Evaluated by:
  • Self test
pat == '\0'
*pat == '\0'Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1890 times by 1 test
Evaluated by:
  • Self test
)
0-1896
548 {-
549 if (glob_testdir (dir, 0) < 0
glob_testdir (dir, 0) < 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
)
3
550 return
executed 3 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
((char **) &glob_error_return);
executed 3 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
3
551-
552 nextlink = (struct globval *)__builtin_alloca (sizeof (struct globval));-
553 if (nextlink ==
nextlink == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
0-3
554 ((void *)0)
nextlink == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
0-3
555 )-
556 return
never executed: return ((char **) ((void *)0) );
((char **)
never executed: return ((char **) ((void *)0) );
0
557 ((void *)0)
never executed: return ((char **) ((void *)0) );
0
558 );
never executed: return ((char **) ((void *)0) );
0
559-
560 nextlink->next = (struct globval *)0;-
561 nextname = (char *) malloc (1);-
562 if (nextname == 0
nextname == 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
)
0-3
563 lose = 1;
never executed: lose = 1;
0
564 else-
565 {-
566 lastlink = nextlink;-
567 nextlink->name = nextname;-
568 nextname[0] = '\0';-
569 count = 1;-
570 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test
3
571-
572 skip = 1;-
573 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test
3
574-
575 patlen = (pat
patDescription
TRUEevaluated 1893 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& *
*patDescription
TRUEevaluated 1890 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
pat
*patDescription
TRUEevaluated 1890 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
) ? strlen (pat) : 0;
0-1893
576-
577-
578-
579-
580-
581 if (skip == 0
skip == 0Description
TRUEevaluated 1890 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
&& glob_pattern_p (pat) == 0
glob_pattern_p (pat) == 0Description
TRUEevaluated 191 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1699 times by 1 test
Evaluated by:
  • Self test
)
3-1890
582 {-
583 int dirlen;-
584 struct stat finfo;-
585-
586 if (glob_testdir (dir, 0) < 0
glob_testdir (dir, 0) < 0Description
TRUEnever evaluated
FALSEevaluated 191 times by 1 test
Evaluated by:
  • Self test
)
0-191
587 return
never executed: return ((char **) &glob_error_return);
((char **) &glob_error_return);
never executed: return ((char **) &glob_error_return);
0
588-
589 dirlen = strlen (dir);-
590 nextname = (char *)malloc (dirlen + patlen + 2);-
591 npat = (char *)malloc (patlen + 1);-
592 if (nextname == 0
nextname == 0Description
TRUEnever evaluated
FALSEevaluated 191 times by 1 test
Evaluated by:
  • Self test
|| npat == 0
npat == 0Description
TRUEnever evaluated
FALSEevaluated 191 times by 1 test
Evaluated by:
  • Self test
)
0-191
593 {-
594 do { if (nextname
nextnameDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextname), "glob.c", 660);
never executed: sh_xfree((nextname), "glob.c", 660);
} while (0);
0
595 do { if (npat
npatDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((npat), "glob.c", 661);
never executed: sh_xfree((npat), "glob.c", 661);
} while (0);
0
596 lose = 1;-
597 }
never executed: end of block
0
598 else-
599 {-
600 strcpy (npat, pat);-
601 dequote_pathname (npat);-
602-
603 strcpy (nextname, dir);-
604 nextname[dirlen++] = '/';-
605 strcpy (nextname + dirlen, npat);-
606-
607 if ((
(lstat (nextna... &finfo)) >= 0Description
TRUEevaluated 95 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 96 times by 1 test
Evaluated by:
  • Self test
lstat (nextname, &finfo)) >= 0
(lstat (nextna... &finfo)) >= 0Description
TRUEevaluated 95 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 96 times by 1 test
Evaluated by:
  • Self test
)
95-96
608 {-
609 sh_xfree((nextname), "glob.c", 675);-
610 nextlink = (struct globval *)__builtin_alloca (sizeof (struct globval));-
611 if (nextlink
nextlinkDescription
TRUEevaluated 95 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-95
612 {-
613 nextlink->next = (struct globval *)0;-
614 lastlink = nextlink;-
615 nextlink->name = npat;-
616 count = 1;-
617 }
executed 95 times by 1 test: end of block
Executed by:
  • Self test
95
618 else-
619 {-
620 sh_xfree((npat), "glob.c", 686);-
621 lose = 1;-
622 }
never executed: end of block
0
623 }-
624 else-
625 {-
626 sh_xfree((nextname), "glob.c", 692);-
627 sh_xfree((npat), "glob.c", 693);-
628 }
executed 96 times by 1 test: end of block
Executed by:
  • Self test
96
629 }-
630-
631 skip = 1;-
632 }
executed 191 times by 1 test: end of block
Executed by:
  • Self test
191
633-
634 if (skip == 0
skip == 0Description
TRUEevaluated 1699 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 194 times by 1 test
Evaluated by:
  • Self test
)
194-1699
635 {-
636 d = opendir (dir);-
637 if (d ==
d == ((void *)0)Description
TRUEevaluated 167 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1532 times by 1 test
Evaluated by:
  • Self test
167-1532
638 ((void *)0)
d == ((void *)0)Description
TRUEevaluated 167 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1532 times by 1 test
Evaluated by:
  • Self test
167-1532
639 )-
640 return
executed 167 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
((char **) &glob_error_return);
executed 167 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
167
641-
642-
643-
644 mflags = (noglob_dot_filenames
noglob_dot_filenamesDescription
TRUEevaluated 1526 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test
? (1 << 2) : 0) | (1 << 0);
6-1526
645-
646-
647 if (glob_ignore_case
glob_ignore_caseDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1530 times by 1 test
Evaluated by:
  • Self test
)
2-1530
648 mflags |= (1 << 4);
executed 2 times by 1 test: mflags |= (1 << 4);
Executed by:
  • Self test
2
649-
650-
651 if (extended_glob
extended_globDescription
TRUEevaluated 66 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1466 times by 1 test
Evaluated by:
  • Self test
)
66-1466
652 mflags |= (1 << 5);
executed 66 times by 1 test: mflags |= (1 << 5);
Executed by:
  • Self test
66
653-
654 add_current = ((flags & (0x010|0x200)) == (0x010|0x200));-
655-
656-
657-
658-
659-
660 while (1)-
661 {-
662-
663 if (interrupt_state
interrupt_stateDescription
TRUEnever evaluated
FALSEevaluated 501789 times by 1 test
Evaluated by:
  • Self test
|| terminating_signal
terminating_signalDescription
TRUEnever evaluated
FALSEevaluated 501789 times by 1 test
Evaluated by:
  • Self test
)
0-501789
664 {-
665 lose = 1;-
666 break;
never executed: break;
0
667 }-
668 else if (signal_is_pending (
signal_is_pending ( 2 )Description
TRUEnever evaluated
FALSEevaluated 501789 times by 1 test
Evaluated by:
  • Self test
0-501789
669 2
signal_is_pending ( 2 )Description
TRUEnever evaluated
FALSEevaluated 501789 times by 1 test
Evaluated by:
  • Self test
0-501789
670 )
signal_is_pending ( 2 )Description
TRUEnever evaluated
FALSEevaluated 501789 times by 1 test
Evaluated by:
  • Self test
)
0-501789
671 {-
672 lose = 1;-
673 break;
never executed: break;
0
674 }-
675-
676 dp = readdir (d);-
677 if (dp ==
dp == ((void *)0)Description
TRUEevaluated 1532 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 500257 times by 1 test
Evaluated by:
  • Self test
1532-500257
678 ((void *)0)
dp == ((void *)0)Description
TRUEevaluated 1532 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 500257 times by 1 test
Evaluated by:
  • Self test
1532-500257
679 )-
680 break;
executed 1532 times by 1 test: break;
Executed by:
  • Self test
1532
681-
682-
683 if ((
(dp->d_ino != 0) == 0Description
TRUEnever evaluated
FALSEevaluated 500257 times by 1 test
Evaluated by:
  • Self test
dp->d_ino != 0) == 0
(dp->d_ino != 0) == 0Description
TRUEnever evaluated
FALSEevaluated 500257 times by 1 test
Evaluated by:
  • Self test
)
0-500257
684 continue;
never executed: continue;
0
685-
686-
687-
688-
689-
690-
691-
692 if (-
693 (
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 484860 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15397 times by 1 test
Evaluated by:
  • Self test
__ctype_get_mb_cur_max ())
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 484860 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15397 times by 1 test
Evaluated by:
  • Self test
15397-484860
694 > 1
(__ctype_get_m...ur_max ()) > 1Description
TRUEevaluated 484860 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15397 times by 1 test
Evaluated by:
  • Self test
&& mbskipname (pat, dp->d_name, flags)
mbskipname (pa...d_name, flags)Description
TRUEevaluated 1439 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 483421 times by 1 test
Evaluated by:
  • Self test
)
1439-484860
695 continue;
executed 1439 times by 1 test: continue;
Executed by:
  • Self test
1439
696 else-
697-
698 if (skipname (pat, dp->d_name, flags)
skipname (pat,...d_name, flags)Description
TRUEevaluated 1666 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 497152 times by 1 test
Evaluated by:
  • Self test
)
1666-497152
699 continue;
executed 1666 times by 1 test: continue;
Executed by:
  • Self test
1666
700-
701-
702 if (flags & (0x008|0x010)
flags & (0x008|0x010)Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 496335 times by 1 test
Evaluated by:
  • Self test
)
817-496335
703 {-
704 pflags = (
(flags & 0x010)Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
flags & 0x010)
(flags & 0x010)Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
? 0x04 : 0;
0-817
705 if (flags & 0x100
flags & 0x100Description
TRUEevaluated 579 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 238 times by 1 test
Evaluated by:
  • Self test
)
238-579
706 pflags |= 0x08;
executed 579 times by 1 test: pflags |= 0x08;
Executed by:
  • Self test
579
707 subdir = sh_makepath (dir, dp->d_name, pflags);-
708 isdir = glob_testdir (subdir, flags);-
709 if (isdir < 0
isdir < 0Description
TRUEevaluated 163 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 654 times by 1 test
Evaluated by:
  • Self test
&& (
(flags & 0x008)Description
TRUEnever evaluated
FALSEevaluated 163 times by 1 test
Evaluated by:
  • Self test
flags & 0x008)
(flags & 0x008)Description
TRUEnever evaluated
FALSEevaluated 163 times by 1 test
Evaluated by:
  • Self test
)
0-654
710 {-
711 sh_xfree((subdir), "glob.c", 777);-
712 continue;
never executed: continue;
0
713 }-
714 }
executed 817 times by 1 test: end of block
Executed by:
  • Self test
817
715-
716 if (flags & 0x010
flags & 0x010Description
TRUEevaluated 817 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 496335 times by 1 test
Evaluated by:
  • Self test
)
817-496335
717 {-
718 if (isdir == 0
isdir == 0Description
TRUEevaluated 654 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 163 times by 1 test
Evaluated by:
  • Self test
)
163-654
719 {-
720 dirlist = finddirs (pat, subdir, (flags & ~0x200), &e, &ndirs);-
721 if (dirlist == &finddirs_error_return
dirlist == &fi...s_error_returnDescription
TRUEnever evaluated
FALSEevaluated 654 times by 1 test
Evaluated by:
  • Self test
)
0-654
722 {-
723 sh_xfree((subdir), "glob.c", 789);-
724 lose = 1;-
725 break;
never executed: break;
0
726 }-
727 if (ndirs
ndirsDescription
TRUEevaluated 289 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 365 times by 1 test
Evaluated by:
  • Self test
)
289-365
728 {-
729 if (firstmalloc == 0
firstmalloc == 0Description
TRUEevaluated 144 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 145 times by 1 test
Evaluated by:
  • Self test
)
144-145
730 firstmalloc = e;
executed 144 times by 1 test: firstmalloc = e;
Executed by:
  • Self test
144
731 e->next = lastlink;-
732 lastlink = dirlist;-
733 count += ndirs;-
734 }
executed 289 times by 1 test: end of block
Executed by:
  • Self test
289
735 }
executed 654 times by 1 test: end of block
Executed by:
  • Self test
654
736-
737 nextlink = (struct globval *) malloc (sizeof (struct globval));-
738 if (firstmalloc == 0
firstmalloc == 0Description
TRUEevaluated 203 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 614 times by 1 test
Evaluated by:
  • Self test
)
203-614
739 firstmalloc = nextlink;
executed 203 times by 1 test: firstmalloc = nextlink;
Executed by:
  • Self test
203
740 sdlen = strlen (subdir);-
741 nextname = (char *) malloc (sdlen + 1);-
742 if (nextlink == 0
nextlink == 0Description
TRUEnever evaluated
FALSEevaluated 817 times by 1 test
Evaluated by:
  • Self test
|| nextname == 0
nextname == 0Description
TRUEnever evaluated
FALSEevaluated 817 times by 1 test
Evaluated by:
  • Self test
)
0-817
743 {-
744 do { if (nextlink
nextlinkDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextlink), "glob.c", 810);
never executed: sh_xfree((nextlink), "glob.c", 810);
} while (0);
0
745 do { if (nextname
nextnameDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextname), "glob.c", 811);
never executed: sh_xfree((nextname), "glob.c", 811);
} while (0);
0
746 sh_xfree((subdir), "glob.c", 812);-
747 lose = 1;-
748 break;
never executed: break;
0
749 }-
750 nextlink->next = lastlink;-
751 lastlink = nextlink;-
752 nextlink->name = nextname;-
753 bcopy (subdir, nextname, sdlen + 1);-
754 sh_xfree((subdir), "glob.c", 820);-
755 ++count;-
756 continue;
executed 817 times by 1 test: continue;
Executed by:
  • Self test
817
757 }-
758 else if (flags & 0x008
flags & 0x008Description
TRUEnever evaluated
FALSEevaluated 496335 times by 1 test
Evaluated by:
  • Self test
)
0-496335
759 sh_xfree((subdir), "glob.c", 825);
never executed: sh_xfree((subdir), "glob.c", 825);
0
760-
761 convfn = fnx_fromfs (dp->d_name, (strlen ((dp)->d_name)));-
762 if (strmatch (pat, convfn, mflags) != 1
strmatch (pat,..., mflags) != 1Description
TRUEevaluated 986 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 495349 times by 1 test
Evaluated by:
  • Self test
)
986-495349
763 {-
764 if (nalloca < 100000
nalloca < 100000Description
TRUEevaluated 986 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-986
765 {-
766 nextlink = (struct globval *) __builtin_alloca (sizeof (struct globval));-
767 nalloca += sizeof (struct globval);-
768 }
executed 986 times by 1 test: end of block
Executed by:
  • Self test
986
769 else-
770 {-
771 nextlink = (struct globval *) malloc (sizeof (struct globval));-
772 if (firstmalloc == 0
firstmalloc == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
773 firstmalloc = nextlink;
never executed: firstmalloc = nextlink;
0
774 }
never executed: end of block
0
775-
776 nextname = (char *) malloc ((strlen ((dp)->d_name)) + 1);-
777 if (nextlink == 0
nextlink == 0Description
TRUEnever evaluated
FALSEevaluated 986 times by 1 test
Evaluated by:
  • Self test
|| nextname == 0
nextname == 0Description
TRUEnever evaluated
FALSEevaluated 986 times by 1 test
Evaluated by:
  • Self test
)
0-986
778 {-
779 do { if (nextlink
nextlinkDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextlink), "glob.c", 845);
never executed: sh_xfree((nextlink), "glob.c", 845);
} while (0);
0
780 do { if (nextname
nextnameDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextname), "glob.c", 846);
never executed: sh_xfree((nextname), "glob.c", 846);
} while (0);
0
781 lose = 1;-
782 break;
never executed: break;
0
783 }-
784 nextlink->next = lastlink;-
785 lastlink = nextlink;-
786 nextlink->name = nextname;-
787 bcopy (dp->d_name, nextname, (strlen ((dp)->d_name)) + 1);-
788 ++count;-
789 }
executed 986 times by 1 test: end of block
Executed by:
  • Self test
986
790 }
executed 496335 times by 1 test: end of block
Executed by:
  • Self test
496335
791-
792 (void) closedir (d);-
793 }
executed 1532 times by 1 test: end of block
Executed by:
  • Self test
1532
794-
795-
796-
797-
798 if (add_current
add_currentDescription
TRUEevaluated 81 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1645 times by 1 test
Evaluated by:
  • Self test
)
81-1645
799 {-
800 sdlen = strlen (dir);-
801 nextname = (char *)malloc (sdlen + 1);-
802 nextlink = (struct globval *) malloc (sizeof (struct globval));-
803 if (nextlink == 0
nextlink == 0Description
TRUEnever evaluated
FALSEevaluated 81 times by 1 test
Evaluated by:
  • Self test
|| nextname == 0
nextname == 0Description
TRUEnever evaluated
FALSEevaluated 81 times by 1 test
Evaluated by:
  • Self test
)
0-81
804 {-
805 do { if (nextlink
nextlinkDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextlink), "glob.c", 871);
never executed: sh_xfree((nextlink), "glob.c", 871);
} while (0);
0
806 do { if (nextname
nextnameDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((nextname), "glob.c", 872);
never executed: sh_xfree((nextname), "glob.c", 872);
} while (0);
0
807 lose = 1;-
808 }
never executed: end of block
0
809 else-
810 {-
811 nextlink->name = nextname;-
812 nextlink->next = lastlink;-
813 lastlink = nextlink;-
814 if (flags & 0x100
flags & 0x100Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 66 times by 1 test
Evaluated by:
  • Self test
)
15-66
815 nextname[0] = '\0';
executed 15 times by 1 test: nextname[0] = '\0';
Executed by:
  • Self test
15
816 else-
817 bcopy (dir, nextname, sdlen + 1);
executed 66 times by 1 test: bcopy (dir, nextname, sdlen + 1);
Executed by:
  • Self test
66
818 ++count;-
819 }
executed 81 times by 1 test: end of block
Executed by:
  • Self test
81
820 }-
821-
822 if (lose == 0
lose == 0Description
TRUEevaluated 1726 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-1726
823 {-
824 name_vector = (char **) malloc ((count + 1) * sizeof (char *));-
825 lose |= name_vector == -
826 ((void *)0)-
827 ;-
828 }
executed 1726 times by 1 test: end of block
Executed by:
  • Self test
1726
829-
830-
831 if (lose
loseDescription
TRUEnever evaluated
FALSEevaluated 1726 times by 1 test
Evaluated by:
  • Self test
)
0-1726
832 {-
833 tmplink = 0;-
834-
835-
836 while (lastlink
lastlinkDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
837 {-
838-
839-
840-
841 if (firstmalloc
firstmallocDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
842 {-
843 if (lastlink == firstmalloc
lastlink == firstmallocDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
844 firstmalloc = 0;
never executed: firstmalloc = 0;
0
845 tmplink = lastlink;-
846 }
never executed: end of block
0
847 else-
848 tmplink = 0;
never executed: tmplink = 0;
0
849 sh_xfree((lastlink->name), "glob.c", 913);-
850 lastlink = lastlink->next;-
851 do { if (tmplink
tmplinkDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((tmplink), "glob.c", 915);
never executed: sh_xfree((tmplink), "glob.c", 915);
} while (0);
0
852 }
never executed: end of block
0
853-
854-
855-
856 return
never executed: return ((char **) ((void *)0) );
((char **)
never executed: return ((char **) ((void *)0) );
0
857 ((void *)0)
never executed: return ((char **) ((void *)0) );
0
858 );
never executed: return ((char **) ((void *)0) );
0
859 }-
860-
861-
862 for (tmplink = lastlink, i = 0; i < count
i < countDescription
TRUEevaluated 3290 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1726 times by 1 test
Evaluated by:
  • Self test
; ++i)
1726-3290
863 {-
864 name_vector[i] = tmplink->name;-
865 tmplink = tmplink->next;-
866 }
executed 3290 times by 1 test: end of block
Executed by:
  • Self test
3290
867-
868 name_vector[count] = -
869 ((void *)0)-
870 ;-
871-
872-
873 if (firstmalloc
firstmallocDescription
TRUEevaluated 347 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1379 times by 1 test
Evaluated by:
  • Self test
)
347-1379
874 {-
875 tmplink = 0;-
876 while (lastlink
lastlinkDescription
TRUEevaluated 2174 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 347 times by 1 test
Evaluated by:
  • Self test
)
347-2174
877 {-
878 tmplink = lastlink;-
879 if (lastlink == firstmalloc
lastlink == firstmallocDescription
TRUEevaluated 347 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1827 times by 1 test
Evaluated by:
  • Self test
)
347-1827
880 lastlink = firstmalloc = 0;
executed 347 times by 1 test: lastlink = firstmalloc = 0;
Executed by:
  • Self test
347
881 else-
882 lastlink = lastlink->next;
executed 1827 times by 1 test: lastlink = lastlink->next;
Executed by:
  • Self test
1827
883 sh_xfree((tmplink), "glob.c", 943);-
884 }
executed 2174 times by 1 test: end of block
Executed by:
  • Self test
2174
885 }
executed 347 times by 1 test: end of block
Executed by:
  • Self test
347
886-
887 return
executed 1726 times by 1 test: return (name_vector);
Executed by:
  • Self test
(name_vector);
executed 1726 times by 1 test: return (name_vector);
Executed by:
  • Self test
1726
888}-
889-
890-
891-
892-
893-
894static char **-
895glob_dir_to_array (dir, array, flags)-
896 char *dir, **array;-
897 int flags;-
898{-
899 register unsigned int i, l;-
900 int add_slash;-
901 char **result, *new;-
902 struct stat sb;-
903-
904 l = strlen (dir);-
905 if (l == 0
l == 0Description
TRUEevaluated 716 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
)
293-716
906 {-
907 if (flags & 0x001
flags & 0x001Description
TRUEnever evaluated
FALSEevaluated 716 times by 1 test
Evaluated by:
  • Self test
)
0-716
908 for (i = 0; array[i]
array[i]Description
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
909 {-
910 if ((
(stat (array[i], &sb) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
stat (array[i], &sb) == 0)
(stat (array[i], &sb) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
911 ((((
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
912 sb.st_mode
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
913 )) & 0170000) == (0040000))
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
914 )-
915 {-
916 l = strlen (array[i]);-
917 new = (char *)realloc (array[i], l + 2);-
918 if (new
new == 0Description
TRUEnever evaluated
FALSEnever evaluated
== 0
new == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
919 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
920 ((void *)0)
never executed: return ((void *)0) ;
0
921 ;
never executed: return ((void *)0) ;
0
922 new[l] = '/';-
923 new[l+1] = '\0';-
924 array[i] = new;-
925 }
never executed: end of block
0
926 }
never executed: end of block
0
927 return
executed 716 times by 1 test: return (array);
Executed by:
  • Self test
(array);
executed 716 times by 1 test: return (array);
Executed by:
  • Self test
716
928 }-
929-
930 add_slash = dir[l - 1] != '/';-
931-
932 i = 0;-
933 while (array[i] !=
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
934 ((void *)0)
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
935 )-
936 ++
executed 221 times by 1 test: ++i;
Executed by:
  • Self test
i;
executed 221 times by 1 test: ++i;
Executed by:
  • Self test
221
937-
938 result = (char **) malloc ((i + 1) * sizeof (char *));-
939 if (result ==
result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
0-293
940 ((void *)0)
result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
0-293
941 )-
942 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
943 ((void *)0)
never executed: return ( ((void *)0) );
0
944 );
never executed: return ( ((void *)0) );
0
945-
946 for (i = 0; array[i] !=
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
947 ((void *)0)
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
948 ; i++)-
949 {-
950-
951 result[i] = (char *) malloc (l + strlen (array[i]) + 3);-
952-
953 if (result[i] ==
result[i] == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 221 times by 1 test
Evaluated by:
  • Self test
0-221
954 ((void *)0)
result[i] == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 221 times by 1 test
Evaluated by:
  • Self test
0-221
955 )-
956 {-
957 int ind;-
958 for (ind = 0; ind < i
ind < iDescription
TRUEnever evaluated
FALSEnever evaluated
; ind++)
0
959 sh_xfree((result[ind]), "glob.c", 1003);
never executed: sh_xfree((result[ind]), "glob.c", 1003);
0
960 sh_xfree((result), "glob.c", 1004);-
961 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
962 ((void *)0)
never executed: return ( ((void *)0) );
0
963 );
never executed: return ( ((void *)0) );
0
964 }-
965-
966 strcpy (result[i], dir);-
967 if (add_slash
add_slashDescription
TRUEevaluated 148 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 73 times by 1 test
Evaluated by:
  • Self test
)
73-148
968 result[i][l] = '/';
executed 148 times by 1 test: result[i][l] = '/';
Executed by:
  • Self test
148
969 strcpy (result[i] + l + add_slash, array[i]);-
970 if (flags & 0x001
flags & 0x001Description
TRUEnever evaluated
FALSEevaluated 221 times by 1 test
Evaluated by:
  • Self test
)
0-221
971 {-
972 if ((
(stat (result[i], &sb) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
stat (result[i], &sb) == 0)
(stat (result[i], &sb) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
973 ((((
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
974 sb.st_mode
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
975 )) & 0170000) == (0040000))
(((( sb.st_mod... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
976 )-
977 {-
978 size_t rlen;-
979 rlen = strlen (result[i]);-
980 result[i][rlen] = '/';-
981 result[i][rlen+1] = '\0';-
982 }
never executed: end of block
0
983 }
never executed: end of block
0
984 }
executed 221 times by 1 test: end of block
Executed by:
  • Self test
221
985 result[i] = -
986 ((void *)0)-
987 ;-
988-
989-
990 for (i = 0; array[i] !=
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
991 ((void *)0)
array[i] != ((void *)0)Description
TRUEevaluated 221 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 293 times by 1 test
Evaluated by:
  • Self test
221-293
992 ; i++)-
993 sh_xfree((array[i]), "glob.c", 1027);
executed 221 times by 1 test: sh_xfree((array[i]), "glob.c", 1027);
Executed by:
  • Self test
221
994 sh_xfree(((char *) array), "glob.c", 1028);-
995-
996 return
executed 293 times by 1 test: return (result);
Executed by:
  • Self test
(result);
executed 293 times by 1 test: return (result);
Executed by:
  • Self test
293
997}-
998-
999-
1000-
1001-
1002-
1003-
1004char **-
1005glob_filename (pathname, flags)-
1006 char *pathname;-
1007 int flags;-
1008{-
1009 char **result, **new_result;-
1010 unsigned int result_size;-
1011 char *directory_name, *filename, *dname, *fn;-
1012 unsigned int directory_len;-
1013 int free_dirname;-
1014 int dflags;-
1015-
1016 result = (char **) malloc (sizeof (char *));-
1017 result_size = 1;-
1018 if (result ==
result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 952 times by 1 test
Evaluated by:
  • Self test
0-952
1019 ((void *)0)
result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 952 times by 1 test
Evaluated by:
  • Self test
0-952
1020 )-
1021 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
1022 ((void *)0)
never executed: return ( ((void *)0) );
0
1023 );
never executed: return ( ((void *)0) );
0
1024-
1025 result[0] = -
1026 ((void *)0)-
1027 ;-
1028-
1029 directory_name = -
1030 ((void *)0)-
1031 ;-
1032-
1033-
1034 filename = strrchr (pathname, '/');-
1035-
1036 if (filename
filenameDescription
TRUEevaluated 254 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 698 times by 1 test
Evaluated by:
  • Self test
&& extended_glob
extended_globDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 252 times by 1 test
Evaluated by:
  • Self test
)
2-698
1037 {-
1038 fn = glob_dirscan (pathname, '/');-
1039-
1040-
1041-
1042-
1043 filename = fn;-
1044 }
executed 2 times by 1 test: end of block
Executed by:
  • Self test
2
1045-
1046-
1047 if (filename ==
filename == ((void *)0)Description
TRUEevaluated 698 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 254 times by 1 test
Evaluated by:
  • Self test
254-698
1048 ((void *)0)
filename == ((void *)0)Description
TRUEevaluated 698 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 254 times by 1 test
Evaluated by:
  • Self test
254-698
1049 )-
1050 {-
1051 filename = pathname;-
1052 directory_name = "";-
1053 directory_len = 0;-
1054 free_dirname = 0;-
1055 }
executed 698 times by 1 test: end of block
Executed by:
  • Self test
698
1056 else-
1057 {-
1058 directory_len = (filename - pathname) + 1;-
1059 directory_name = (char *) malloc (directory_len + 1);-
1060-
1061 if (directory_name == 0
directory_name == 0Description
TRUEnever evaluated
FALSEevaluated 254 times by 1 test
Evaluated by:
  • Self test
)
0-254
1062 {-
1063 sh_xfree((result), "glob.c", 1087);-
1064 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
1065 ((void *)0)
never executed: return ( ((void *)0) );
0
1066 );
never executed: return ( ((void *)0) );
0
1067 }-
1068-
1069 bcopy (pathname, directory_name, directory_len);-
1070 directory_name[directory_len] = '\0';-
1071 ++filename;-
1072 free_dirname = 1;-
1073 }
executed 254 times by 1 test: end of block
Executed by:
  • Self test
254
1074-
1075-
1076-
1077 if (directory_len > 0
directory_len > 0Description
TRUEevaluated 254 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 698 times by 1 test
Evaluated by:
  • Self test
&& glob_pattern_p (directory_name)
glob_pattern_p...irectory_name)Description
TRUEevaluated 147 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 107 times by 1 test
Evaluated by:
  • Self test
)
107-698
1078 {-
1079 char **directories, *d, *p;-
1080 register unsigned int i;-
1081 int all_starstar, last_starstar;-
1082-
1083 all_starstar = last_starstar = 0;-
1084 d = directory_name;-
1085 dflags = flags & ~0x001;-
1086-
1087-
1088 if ((
(flags & 0x400)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 122 times by 1 test
Evaluated by:
  • Self test
flags & 0x400)
(flags & 0x400)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 122 times by 1 test
Evaluated by:
  • Self test
&& d[0] == '*'
d[0] == '*'Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test
&& d[1] == '*'
d[1] == '*'Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& (d[2] == '/'
d[2] == '/'Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
|| d[2] == '\0'
d[2] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
))
0-122
1089 {-
1090 p = d;-
1091 while (d[0] == '*'
d[0] == '*'Description
TRUEevaluated 28 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test
&& d[1] == '*'
d[1] == '*'Description
TRUEevaluated 28 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& (d[2] == '/'
d[2] == '/'Description
TRUEevaluated 28 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
|| d[2] == '\0'
d[2] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
))
0-28
1092 {-
1093 p = d;-
1094 if (d[2]
d[2]Description
TRUEevaluated 28 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-28
1095 {-
1096 d += 3;-
1097 while (*
*d == '/'Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • Self test
d == '/'
*d == '/'Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • Self test
)
0-28
1098 d++;
never executed: d++;
0
1099 if (*
*d == 0Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 13 times by 1 test
Evaluated by:
  • Self test
d == 0
*d == 0Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 13 times by 1 test
Evaluated by:
  • Self test
)
13-15
1100 break;
executed 15 times by 1 test: break;
Executed by:
  • Self test
15
1101 }
executed 13 times by 1 test: end of block
Executed by:
  • Self test
13
1102 }
executed 13 times by 1 test: end of block
Executed by:
  • Self test
13
1103 if (*
*d == 0Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test
d == 0
*d == 0Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test
)
6-15
1104 all_starstar = 1;
executed 15 times by 1 test: all_starstar = 1;
Executed by:
  • Self test
15
1105 d = p;-
1106 dflags |= 0x010|0x200;-
1107 directory_len = strlen (d);-
1108 }
executed 21 times by 1 test: end of block
Executed by:
  • Self test
21
1109-
1110-
1111-
1112-
1113-
1114 if ((
(flags & 0x400)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 122 times by 1 test
Evaluated by:
  • Self test
flags & 0x400)
(flags & 0x400)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 122 times by 1 test
Evaluated by:
  • Self test
&& all_starstar == 0
all_starstar == 0Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15 times by 1 test
Evaluated by:
  • Self test
)
10-122
1115 {-
1116 int dl, prev;-
1117 prev = dl = directory_len;-
1118 while (dl >= 4
dl >= 4Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
&& d[dl - 1] == '/'
d[dl - 1] == '/'Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&&
0-17
1119 d[dl - 2] == '*'
d[dl - 2] == '*'Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 5 times by 1 test
Evaluated by:
  • Self test
&&
5-12
1120 d[dl - 3] == '*'
d[dl - 3] == '*'Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test
&&
2-10
1121 d[dl - 4] == '/'
d[dl - 4] == '/'Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-10
1122 prev = dl, dl -= 3;
executed 10 times by 1 test: prev = dl, dl -= 3;
Executed by:
  • Self test
10
1123 if (dl != directory_len
dl != directory_lenDescription
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test
)
4-6
1124 last_starstar = 1;
executed 6 times by 1 test: last_starstar = 1;
Executed by:
  • Self test
6
1125 directory_len = prev;-
1126 }
executed 10 times by 1 test: end of block
Executed by:
  • Self test
10
1127-
1128-
1129-
1130-
1131 if (last_starstar
last_starstarDescription
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 141 times by 1 test
Evaluated by:
  • Self test
&& directory_len > 4
directory_len > 4Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&&
0-141
1132 filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test
&& filename[2] == 0
filename[2] == 0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-6
1133 {-
1134 directory_len -= 3;-
1135 }
executed 5 times by 1 test: end of block
Executed by:
  • Self test
5
1136-
1137 if (d[directory_len - 1] == '/'
d[directory_len - 1] == '/'Description
TRUEevaluated 147 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-147
1138 d[directory_len - 1] = '\0';
executed 147 times by 1 test: d[directory_len - 1] = '\0';
Executed by:
  • Self test
147
1139-
1140 directories = glob_filename (d, dflags);-
1141-
1142 if (free_dirname
free_dirnameDescription
TRUEevaluated 147 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-147
1143 {-
1144 sh_xfree((directory_name), "glob.c", 1166);-
1145 directory_name = -
1146 ((void *)0)-
1147 ;-
1148 }
executed 147 times by 1 test: end of block
Executed by:
  • Self test
147
1149-
1150 if (directories ==
directories == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 147 times by 1 test
Evaluated by:
  • Self test
0-147
1151 ((void *)0)
directories == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 147 times by 1 test
Evaluated by:
  • Self test
0-147
1152 )-
1153 goto
never executed: goto memory_error;
memory_error;
never executed: goto memory_error;
0
1154 else if (directories == (char **)&glob_error_return
directories ==...b_error_returnDescription
TRUEevaluated 112 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 35 times by 1 test
Evaluated by:
  • Self test
)
35-112
1155 {-
1156 sh_xfree(((char *) result), "glob.c", 1174);-
1157 return
executed 112 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
((char **) &glob_error_return);
executed 112 times by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
112
1158 }-
1159 else if (*
*directories == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEevaluated 34 times by 1 test
Evaluated by:
  • Self test
directories ==
*directories == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEevaluated 34 times by 1 test
Evaluated by:
  • Self test
1-34
1160 ((void *)0)
*directories == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEevaluated 34 times by 1 test
Evaluated by:
  • Self test
1-34
1161 )-
1162 {-
1163 sh_xfree(((char *) directories), "glob.c", 1179);-
1164 sh_xfree(((char *) result), "glob.c", 1180);-
1165 return
executed 1 time by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
((char **) &glob_error_return);
executed 1 time by 1 test: return ((char **) &glob_error_return);
Executed by:
  • Self test
1
1166 }-
1167-
1168-
1169-
1170 if (all_starstar
all_starstarDescription
TRUEevaluated 15 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 19 times by 1 test
Evaluated by:
  • Self test
&& filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test
&& filename[2] == 0
filename[2] == 0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-19
1171 {-
1172 sh_xfree(((char *) directories), "glob.c", 1188);-
1173 sh_xfree((directory_name), "glob.c", 1189);-
1174 directory_name = -
1175 ((void *)0)-
1176 ;-
1177 directory_len = 0;-
1178 goto
executed 5 times by 1 test: goto only_filename;
Executed by:
  • Self test
only_filename;
executed 5 times by 1 test: goto only_filename;
Executed by:
  • Self test
5
1179 }-
1180-
1181-
1182-
1183-
1184 for (i = 0; directories[i] !=
directories[i] != ((void *)0)Description
TRUEevaluated 432 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 29 times by 1 test
Evaluated by:
  • Self test
29-432
1185 ((void *)0)
directories[i] != ((void *)0)Description
TRUEevaluated 432 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 29 times by 1 test
Evaluated by:
  • Self test
29-432
1186 ; ++i)-
1187 {-
1188 char **temp_results;-
1189 int shouldbreak;-
1190-
1191 shouldbreak = 0;-
1192-
1193-
1194-
1195-
1196-
1197-
1198 dname = directories[i];-
1199 dflags = flags & ~(0x001|0x010|0x200);-
1200 if ((
(flags & 0x400)Description
TRUEevaluated 363 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 69 times by 1 test
Evaluated by:
  • Self test
flags & 0x400)
(flags & 0x400)Description
TRUEevaluated 363 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 69 times by 1 test
Evaluated by:
  • Self test
&& filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 136 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 227 times by 1 test
Evaluated by:
  • Self test
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 73 times by 1 test
Evaluated by:
  • Self test
&& filename[2] == '\0'
filename[2] == '\0'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-363
1201 dflags |= 0x010|0x200;
executed 63 times by 1 test: dflags |= 0x010|0x200;
Executed by:
  • Self test
63
1202 if (dname[0] == '\0'
dname[0] == '\0'Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 422 times by 1 test
Evaluated by:
  • Self test
&& filename[0]
filename[0]Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-422
1203 {-
1204 dflags |= 0x100;-
1205 dname = ".";-
1206 }
executed 10 times by 1 test: end of block
Executed by:
  • Self test
10
1207 temp_results = glob_vector (filename, dname, dflags);-
1208-
1209-
1210 if (temp_results ==
temp_results == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 432 times by 1 test
Evaluated by:
  • Self test
0-432
1211 ((void *)0)
temp_results == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 432 times by 1 test
Evaluated by:
  • Self test
0-432
1212 )-
1213 goto
never executed: goto memory_error;
memory_error;
never executed: goto memory_error;
0
1214 else if (temp_results == (char **)&glob_error_return
temp_results =...b_error_returnDescription
TRUEevaluated 114 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
)
114-318
1215-
1216 ;
executed 114 times by 1 test: ;
Executed by:
  • Self test
114
1217 else-
1218 {-
1219 char **array;-
1220 register unsigned int l;-
1221-
1222-
1223-
1224 if ((
(dflags & 0x010)Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 255 times by 1 test
Evaluated by:
  • Self test
dflags & 0x010)
(dflags & 0x010)Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 255 times by 1 test
Evaluated by:
  • Self test
&& filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& (filename[2] == '\0'
filename[2] == '\0'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
|| filename[2] == '/'
filename[2] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
))
0-255
1225 {-
1226 if ((
(dflags & 0x100)Description
TRUEnever evaluated
FALSEevaluated 63 times by 1 test
Evaluated by:
  • Self test
dflags & 0x100)
(dflags & 0x100)Description
TRUEnever evaluated
FALSEevaluated 63 times by 1 test
Evaluated by:
  • Self test
&& (
(flags & 0x100) == 0Description
TRUEnever evaluated
FALSEnever evaluated
flags & 0x100) == 0
(flags & 0x100) == 0Description
TRUEnever evaluated
FALSEnever evaluated
&&
0-63
1227 ((
(temp_results)Description
TRUEnever evaluated
FALSEnever evaluated
temp_results)
(temp_results)Description
TRUEnever evaluated
FALSEnever evaluated
&& *(
*(temp_results)Description
TRUEnever evaluated
FALSEnever evaluated
temp_results)
*(temp_results)Description
TRUEnever evaluated
FALSEnever evaluated
&& **(
**(temp_results) == 0Description
TRUEnever evaluated
FALSEnever evaluated
temp_results) == 0
**(temp_results) == 0Description
TRUEnever evaluated
FALSEnever evaluated
))
0
1228-
1229 {-
1230 register int i, n;-
1231 for (n = 0; temp_results[n]
temp_results[n]Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*temp_results[n] == 0Description
TRUEnever evaluated
FALSEnever evaluated
temp_results[n] == 0
*temp_results[n] == 0Description
TRUEnever evaluated
FALSEnever evaluated
; n++)
0
1232 ;
never executed: ;
0
1233 i = n;-
1234 do-
1235 temp_results[i - n] = temp_results[i];
never executed: temp_results[i - n] = temp_results[i];
0
1236 while (temp_results[i++] != 0
temp_results[i++] != 0Description
TRUEnever evaluated
FALSEnever evaluated
);
0
1237 array = temp_results;-
1238 shouldbreak = 1;-
1239 }
never executed: end of block
0
1240 else-
1241 array = temp_results;
executed 63 times by 1 test: array = temp_results;
Executed by:
  • Self test
63
1242 }-
1243 else-
1244 array = glob_dir_to_array (directories[i], temp_results, flags);
executed 255 times by 1 test: array = glob_dir_to_array (directories[i], temp_results, flags);
Executed by:
  • Self test
255
1245 l = 0;-
1246 while (array[l] !=
array[l] != ((void *)0)Description
TRUEevaluated 414 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
318-414
1247 ((void *)0)
array[l] != ((void *)0)Description
TRUEevaluated 414 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
318-414
1248 )-
1249 ++
executed 414 times by 1 test: ++l;
Executed by:
  • Self test
l;
executed 414 times by 1 test: ++l;
Executed by:
  • Self test
414
1250-
1251 new_result = (char **)realloc (result, (result_size + l) * sizeof (char *));-
1252-
1253 if (new_result ==
new_result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
0-318
1254 ((void *)0)
new_result == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
0-318
1255 )-
1256 {-
1257 for (l = 0; array[l]
array[l]Description
TRUEnever evaluated
FALSEnever evaluated
; ++l)
0
1258 sh_xfree((array[l]), "glob.c", 1278);
never executed: sh_xfree((array[l]), "glob.c", 1278);
0
1259 sh_xfree(((char *)array), "glob.c", 1279);-
1260 goto
never executed: goto memory_error;
memory_error;
never executed: goto memory_error;
0
1261 }-
1262 result = new_result;-
1263-
1264 for (l = 0; array[l] !=
array[l] != ((void *)0)Description
TRUEevaluated 414 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
318-414
1265 ((void *)0)
array[l] != ((void *)0)Description
TRUEevaluated 414 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
318-414
1266 ; ++l)-
1267 result[result_size++ - 1] = array[l];
executed 414 times by 1 test: result[result_size++ - 1] = array[l];
Executed by:
  • Self test
414
1268-
1269 result[result_size - 1] = -
1270 ((void *)0)-
1271 ;-
1272-
1273-
1274 if (array != temp_results
array != temp_resultsDescription
TRUEevaluated 245 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 73 times by 1 test
Evaluated by:
  • Self test
)
73-245
1275 sh_xfree(((char *) array), "glob.c", 1291);
executed 245 times by 1 test: sh_xfree(((char *) array), "glob.c", 1291);
Executed by:
  • Self test
245
1276 else if ((
(dflags & 0x010)Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 10 times by 1 test
Evaluated by:
  • Self test
dflags & 0x010)
(dflags & 0x010)Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 10 times by 1 test
Evaluated by:
  • Self test
&& filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& filename[2] == '\0'
filename[2] == '\0'Description
TRUEevaluated 63 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-63
1277 sh_xfree((temp_results), "glob.c", 1293);
executed 63 times by 1 test: sh_xfree((temp_results), "glob.c", 1293);
Executed by:
  • Self test
63
1278-
1279 if (shouldbreak
shouldbreakDescription
TRUEnever evaluated
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test
)
0-318
1280 break;
never executed: break;
0
1281 }
executed 318 times by 1 test: end of block
Executed by:
  • Self test
318
1282 }-
1283-
1284 for (i = 0; directories[i]
directories[i]Description
TRUEevaluated 432 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 29 times by 1 test
Evaluated by:
  • Self test
; i++)
29-432
1285 sh_xfree((directories[i]), "glob.c", 1301);
executed 432 times by 1 test: sh_xfree((directories[i]), "glob.c", 1301);
Executed by:
  • Self test
432
1286-
1287 sh_xfree(((char *) directories), "glob.c", 1303);-
1288-
1289 return
executed 29 times by 1 test: return (result);
Executed by:
  • Self test
(result);
executed 29 times by 1 test: return (result);
Executed by:
  • Self test
29
1290 }-
1291-
1292only_filename:
code before this statement executed 805 times by 1 test: only_filename:
Executed by:
  • Self test
805
1293-
1294 if (*
*filename == '\0'Description
TRUEnever evaluated
FALSEevaluated 810 times by 1 test
Evaluated by:
  • Self test
filename == '\0'
*filename == '\0'Description
TRUEnever evaluated
FALSEevaluated 810 times by 1 test
Evaluated by:
  • Self test
)
0-810
1295 {-
1296 result = (char **) realloc ((char *) result, 2 * sizeof (char *));-
1297 if (result ==
result == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1298 ((void *)0)
result == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1299 )-
1300 {-
1301 if (free_dirname
free_dirnameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1302 sh_xfree((directory_name), "glob.c", 1316);
never executed: sh_xfree((directory_name), "glob.c", 1316);
0
1303 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
1304 ((void *)0)
never executed: return ( ((void *)0) );
0
1305 );
never executed: return ( ((void *)0) );
0
1306 }-
1307-
1308 result[0] = (char *) malloc (directory_len + 1);-
1309 if (result[0] ==
result[0] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1310 ((void *)0)
result[0] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1311 )-
1312 goto
never executed: goto memory_error;
memory_error;
never executed: goto memory_error;
0
1313 bcopy (directory_name, result[0], directory_len + 1);-
1314 if (free_dirname
free_dirnameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1315 sh_xfree((directory_name), "glob.c", 1325);
never executed: sh_xfree((directory_name), "glob.c", 1325);
0
1316 result[1] = -
1317 ((void *)0)-
1318 ;-
1319 return
never executed: return (result);
(result);
never executed: return (result);
0
1320 }-
1321 else-
1322 {-
1323 char **temp_results;-
1324-
1325-
1326-
1327-
1328 if (directory_len > 0
directory_len > 0Description
TRUEevaluated 107 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 703 times by 1 test
Evaluated by:
  • Self test
)
107-703
1329 dequote_pathname (directory_name);
executed 107 times by 1 test: dequote_pathname (directory_name);
Executed by:
  • Self test
107
1330-
1331-
1332-
1333 sh_xfree((result), "glob.c", 1341);-
1334-
1335-
1336-
1337-
1338 dflags = flags & ~0x001;-
1339 if (directory_len == 0
directory_len == 0Description
TRUEevaluated 703 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 107 times by 1 test
Evaluated by:
  • Self test
)
107-703
1340 dflags |= 0x100;
executed 703 times by 1 test: dflags |= 0x100;
Executed by:
  • Self test
703
1341 if ((
(flags & 0x400)Description
TRUEevaluated 30 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 780 times by 1 test
Evaluated by:
  • Self test
flags & 0x400)
(flags & 0x400)Description
TRUEevaluated 30 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 780 times by 1 test
Evaluated by:
  • Self test
&& filename[0] == '*'
filename[0] == '*'Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
&& filename[1] == '*'
filename[1] == '*'Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& filename[2] == '\0'
filename[2] == '\0'Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-780
1342 {-
1343 dflags |= 0x010|0x200;-
1344 if (directory_len == 0
directory_len == 0Description
TRUEevaluated 24 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test
&& (
(flags & 0x010) == 0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15 times by 1 test
Evaluated by:
  • Self test
flags & 0x010) == 0
(flags & 0x010) == 0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 15 times by 1 test
Evaluated by:
  • Self test
)
3-24
1345 dflags &= ~0x200;
executed 9 times by 1 test: dflags &= ~0x200;
Executed by:
  • Self test
9
1346 }
executed 27 times by 1 test: end of block
Executed by:
  • Self test
27
1347 temp_results = glob_vector (filename,-
1348 (directory_len == 0 ? "." : directory_name),-
1349 dflags);-
1350-
1351 if (temp_results ==
temp_results == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 810 times by 1 test
Evaluated by:
  • Self test
0-810
1352 ((void *)0)
temp_results == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 810 times by 1 test
Evaluated by:
  • Self test
0-810
1353 || temp_results == (char **)&glob_error_return
temp_results =...b_error_returnDescription
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 754 times by 1 test
Evaluated by:
  • Self test
)
56-754
1354 {-
1355 if (free_dirname
free_dirnameDescription
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-56
1356 sh_xfree((directory_name), "glob.c", 1370);
executed 56 times by 1 test: sh_xfree((directory_name), "glob.c", 1370);
Executed by:
  • Self test
56
1357 do { if (terminating_signal
terminating_signalDescription
TRUEnever evaluated
FALSEevaluated 56 times by 1 test
Evaluated by:
  • Self test
) termsig_handler (terminating_signal);
never executed: termsig_handler (terminating_signal);
if (interrupt_state
interrupt_stateDescription
TRUEnever evaluated
FALSEevaluated 56 times by 1 test
Evaluated by:
  • Self test
) throw_to_top_level ();
never executed: throw_to_top_level ();
} while (0);
0-56
1358 run_pending_traps ();-
1359 return
executed 56 times by 1 test: return (temp_results);
Executed by:
  • Self test
(temp_results);
executed 56 times by 1 test: return (temp_results);
Executed by:
  • Self test
56
1360 }-
1361-
1362 result = glob_dir_to_array ((dflags & 0x010) ? "" : directory_name, temp_results, flags);-
1363-
1364 if (free_dirname
free_dirnameDescription
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 698 times by 1 test
Evaluated by:
  • Self test
)
56-698
1365 sh_xfree((directory_name), "glob.c", 1379);
executed 56 times by 1 test: sh_xfree((directory_name), "glob.c", 1379);
Executed by:
  • Self test
56
1366 return
executed 754 times by 1 test: return (result);
Executed by:
  • Self test
(result);
executed 754 times by 1 test: return (result);
Executed by:
  • Self test
754
1367 }-
1368-
1369-
1370-
1371 memory_error:-
1372 if (result !=
result != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1373 ((void *)0)
result != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1374 )-
1375 {-
1376 register unsigned int i;-
1377 for (i = 0; result[i] !=
result[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1378 ((void *)0)
result[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1379 ; ++i)-
1380 sh_xfree((result[i]), "glob.c", 1390);
never executed: sh_xfree((result[i]), "glob.c", 1390);
0
1381 sh_xfree(((char *) result), "glob.c", 1391);-
1382 }
never executed: end of block
0
1383-
1384 if (free_dirname
free_dirnameDescription
TRUEnever evaluated
FALSEnever evaluated
&& directory_name
directory_nameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1385 sh_xfree((directory_name), "glob.c", 1395);
never executed: sh_xfree((directory_name), "glob.c", 1395);
0
1386-
1387 do { if (terminating_signal
terminating_signalDescription
TRUEnever evaluated
FALSEnever evaluated
) termsig_handler (terminating_signal);
never executed: termsig_handler (terminating_signal);
if (interrupt_state
interrupt_stateDescription
TRUEnever evaluated
FALSEnever evaluated
) throw_to_top_level ();
never executed: throw_to_top_level ();
} while (0);
0
1388 run_pending_traps ();-
1389-
1390 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
1391 ((void *)0)
never executed: return ( ((void *)0) );
0
1392 );
never executed: return ( ((void *)0) );
0
1393}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2