OpenCoverage

sftp.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/sftp.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-
19-
20-
21-
22-
23typedef void EditLine;-
24-
25-
26-
27-
28-
29-
30-
31-
32-
33-
34-
35-
36-
37-
38-
39-
40FILE* infile;-
41-
42-
43int batchmode = 0;-
44-
45-
46static volatile pid_t sshpid = -1;-
47-
48-
49int quiet = 0;-
50-
51-
52int showprogress = 1;-
53-
54-
55int global_rflag = 0;-
56-
57-
58int global_aflag = 0;-
59-
60-
61int global_pflag = 0;-
62-
63-
64int global_fflag = 0;-
65-
66-
67volatile sig_atomic_t interrupted = 0;-
68-
69-
70int sort_flag;-
71_ssh_compat_glob_t *sort_glob;-
72-
73-
74struct complete_ctx {-
75 struct sftp_conn *conn;-
76 char **remote_pathp;-
77};-
78-
79int remote_glob(struct sftp_conn *, const char *, int,-
80 int (*)(const char *, int), _ssh_compat_glob_t *);-
81-
82extern char *__progname;-
83enum sftp_command {-
84 I_CHDIR = 1,-
85 I_CHGRP,-
86 I_CHMOD,-
87 I_CHOWN,-
88 I_DF,-
89 I_GET,-
90 I_HELP,-
91 I_LCHDIR,-
92 I_LINK,-
93 I_LLS,-
94 I_LMKDIR,-
95 I_LPWD,-
96 I_LS,-
97 I_LUMASK,-
98 I_MKDIR,-
99 I_PUT,-
100 I_PWD,-
101 I_QUIT,-
102 I_REGET,-
103 I_RENAME,-
104 I_REPUT,-
105 I_RM,-
106 I_RMDIR,-
107 I_SHELL,-
108 I_SYMLINK,-
109 I_VERSION,-
110 I_PROGRESS,-
111};-
112-
113struct CMD {-
114 const char *c;-
115 const int n;-
116 const int t;-
117};-
118-
119-
120-
121-
122-
123-
124static const struct CMD cmds[] = {-
125 { "bye", I_QUIT, 0 },-
126 { "cd", I_CHDIR, 1 },-
127 { "chdir", I_CHDIR, 1 },-
128 { "chgrp", I_CHGRP, 1 },-
129 { "chmod", I_CHMOD, 1 },-
130 { "chown", I_CHOWN, 1 },-
131 { "df", I_DF, 1 },-
132 { "dir", I_LS, 1 },-
133 { "exit", I_QUIT, 0 },-
134 { "get", I_GET, 1 },-
135 { "help", I_HELP, 0 },-
136 { "lcd", I_LCHDIR, 2 },-
137 { "lchdir", I_LCHDIR, 2 },-
138 { "lls", I_LLS, 2 },-
139 { "lmkdir", I_LMKDIR, 2 },-
140 { "ln", I_LINK, 1 },-
141 { "lpwd", I_LPWD, 2 },-
142 { "ls", I_LS, 1 },-
143 { "lumask", I_LUMASK, 0 },-
144 { "mkdir", I_MKDIR, 1 },-
145 { "mget", I_GET, 1 },-
146 { "mput", I_PUT, 2 },-
147 { "progress", I_PROGRESS, 0 },-
148 { "put", I_PUT, 2 },-
149 { "pwd", I_PWD, 1 },-
150 { "quit", I_QUIT, 0 },-
151 { "reget", I_REGET, 1 },-
152 { "rename", I_RENAME, 1 },-
153 { "reput", I_REPUT, 2 },-
154 { "rm", I_RM, 1 },-
155 { "rmdir", I_RMDIR, 1 },-
156 { "symlink", I_SYMLINK, 1 },-
157 { "version", I_VERSION, 0 },-
158 { "!", I_SHELL, 0 },-
159 { "?", I_HELP, 0 },-
160 { -
161 ((void *)0)-
162 , -1, -1 }-
163};-
164-
165-
166static void-
167killchild(int signo)-
168{-
169 if (sshpid > 1
sshpid > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
170 kill(sshpid, -
171 15-
172 );-
173 waitpid(sshpid, -
174 ((void *)0)-
175 , 0);-
176 }
never executed: end of block
0
177-
178 _exit(1);-
179}
never executed: end of block
0
180-
181-
182static void-
183suspchild(int signo)-
184{-
185 if (sshpid > 1
sshpid > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
186 kill(sshpid, signo);-
187 while (waitpid(sshpid,
waitpid(sshpid...0) , 2 ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
188 ((void *)0)
waitpid(sshpid...0) , 2 ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
189 ,
waitpid(sshpid...0) , 2 ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
190 2
waitpid(sshpid...0) , 2 ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
191 ) == -1
waitpid(sshpid...0) , 2 ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
192 (*
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ==
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
194 4
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
195 )-
196 continue;
never executed: continue;
0
197 }
never executed: end of block
0
198 kill(getpid(), -
199 19-
200 );-
201}
never executed: end of block
0
202-
203-
204static void-
205cmd_interrupt(int signo)-
206{-
207 const char msg[] = "\rInterrupt \n";-
208 int olderrno = -
209 (*__errno_location ())-
210 ;-
211-
212 (void)write(-
213 2-
214 , msg, sizeof(msg) - 1);-
215 interrupted = 1;-
216 -
217(*__errno_location ()) -
218 = olderrno;-
219}
never executed: end of block
0
220-
221-
222static void-
223sigchld_handler(int sig)-
224{-
225 int save_errno = -
226 (*__errno_location ())-
227 ;-
228 pid_t pid;-
229 const char msg[] = "\rConnection closed. \n";-
230-
231-
232 while ((
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
pid = waitpid(sshpid,
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
233 ((void *)0)
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
234 ,
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
235 1
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
236 )) == -1
(pid = waitpid...) , 1 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
237 (*
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
238 ==
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
239 4
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
240 )-
241 continue;
never executed: continue;
0
242 if (pid == sshpid
pid == sshpidDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
243 (void)write(-
244 2-
245 , msg, sizeof(msg) - 1);-
246 sshpid = -1;-
247 }
never executed: end of block
0
248-
249 -
250(*__errno_location ()) -
251 = save_errno;-
252}
never executed: end of block
0
253-
254static void-
255help(void)-
256{-
257 printf("Available commands:\n"-
258 "bye Quit sftp\n"-
259 "cd path Change remote directory to 'path'\n"-
260 "chgrp grp path Change group of file 'path' to 'grp'\n"-
261 "chmod mode path Change permissions of file 'path' to 'mode'\n"-
262 "chown own path Change owner of file 'path' to 'own'\n"-
263 "df [-hi] [path] Display statistics for current directory or\n"-
264 " filesystem containing 'path'\n"-
265 "exit Quit sftp\n"-
266 "get [-afPpRr] remote [local] Download file\n"-
267 "reget [-fPpRr] remote [local] Resume download file\n"-
268 "reput [-fPpRr] [local] remote Resume upload file\n"-
269 "help Display this help text\n"-
270 "lcd path Change local directory to 'path'\n"-
271 "lls [ls-options [path]] Display local directory listing\n"-
272 "lmkdir path Create local directory\n"-
273 "ln [-s] oldpath newpath Link remote file (-s for symlink)\n"-
274 "lpwd Print local working directory\n"-
275 "ls [-1afhlnrSt] [path] Display remote directory listing\n"-
276 "lumask umask Set local umask to 'umask'\n"-
277 "mkdir path Create remote directory\n"-
278 "progress Toggle display of progress meter\n"-
279 "put [-afPpRr] local [remote] Upload file\n"-
280 "pwd Display remote working directory\n"-
281 "quit Quit sftp\n"-
282 "rename oldpath newpath Rename remote file\n"-
283 "rm path Delete remote file\n"-
284 "rmdir path Remove remote directory\n"-
285 "symlink oldpath newpath Symlink remote file\n"-
286 "version Show SFTP version\n"-
287 "!command Execute 'command' in local shell\n"-
288 "! Escape to local shell\n"-
289 "? Synonym for help\n");-
290}
never executed: end of block
0
291-
292static void-
293local_do_shell(const char *args)-
294{-
295 int status;-
296 char *shell;-
297 pid_t pid;-
298-
299 if (!*args
!*argsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
300 args =
never executed: args = ((void *)0) ;
0
301 ((void *)0)
never executed: args = ((void *)0) ;
0
302 ;
never executed: args = ((void *)0) ;
0
303-
304 if ((
(shell = geten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
shell = getenv("SHELL")) ==
(shell = geten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ((void *)0)
(shell = geten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
306 || *
*shell == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
shell == '\0'
*shell == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
307 shell =
never executed: shell = "/bin/sh" ;
0
308 "/bin/sh"
never executed: shell = "/bin/sh" ;
0
309 ;
never executed: shell = "/bin/sh" ;
0
310-
311 if ((
(pid = fork()) == -1Description
TRUEnever evaluated
FALSEnever evaluated
pid = fork()) == -1
(pid = fork()) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
312 fatal("Couldn't fork: %s", strerror(
never executed: fatal("Couldn't fork: %s", strerror( (*__errno_location ()) ));
0
313 (*__errno_location ())
never executed: fatal("Couldn't fork: %s", strerror( (*__errno_location ()) ));
0
314 ));
never executed: fatal("Couldn't fork: %s", strerror( (*__errno_location ()) ));
0
315-
316 if (pid == 0
pid == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
317-
318 if (args
argsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
319 debug3("Executing %s -c \"%s\"", shell, args);-
320 execl(shell, shell, "-c", args, (char *)-
321 ((void *)0)-
322 );-
323 }
never executed: end of block
else {
0
324 debug3("Executing %s", shell);-
325 execl(shell, shell, (char *)-
326 ((void *)0)-
327 );-
328 }
never executed: end of block
0
329 fprintf(-
330 stderr-
331 , "Couldn't execute \"%s\": %s\n", shell,-
332 strerror(-
333 (*__errno_location ())-
334 ));-
335 _exit(1);-
336 }
never executed: end of block
0
337 while (waitpid(pid, &status, 0) == -1
waitpid(pid, &status, 0) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
338 if (-
339 (*
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
340 !=
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
341 4
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
342 )-
343 fatal("Couldn't wait for child: %s", strerror(
never executed: fatal("Couldn't wait for child: %s", strerror( (*__errno_location ()) ));
0
344 (*__errno_location ())
never executed: fatal("Couldn't wait for child: %s", strerror( (*__errno_location ()) ));
0
345 ));
never executed: fatal("Couldn't wait for child: %s", strerror( (*__errno_location ()) ));
0
346 if (!
! ((( status ) & 0x7f) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
347 (((
! ((( status ) & 0x7f) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
348 status
! ((( status ) & 0x7f) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
349 ) & 0x7f) == 0)
! ((( status ) & 0x7f) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
350 )-
351 error("Shell exited abnormally");
never executed: error("Shell exited abnormally");
0
352 else if (-
353 (((
((( status ) & 0xff00) >> 8)Description
TRUEnever evaluated
FALSEnever evaluated
0
354 status
((( status ) & 0xff00) >> 8)Description
TRUEnever evaluated
FALSEnever evaluated
0
355 ) & 0xff00) >> 8)
((( status ) & 0xff00) >> 8)Description
TRUEnever evaluated
FALSEnever evaluated
0
356 )-
357 error("Shell exited with status %d",
never executed: error("Shell exited with status %d", ((( status ) & 0xff00) >> 8) );
0
358 (((
never executed: error("Shell exited with status %d", ((( status ) & 0xff00) >> 8) );
0
359 status
never executed: error("Shell exited with status %d", ((( status ) & 0xff00) >> 8) );
0
360 ) & 0xff00) >> 8)
never executed: error("Shell exited with status %d", ((( status ) & 0xff00) >> 8) );
0
361 );
never executed: error("Shell exited with status %d", ((( status ) & 0xff00) >> 8) );
0
362}
never executed: end of block
0
363-
364static void-
365local_do_ls(const char *args)-
366{-
367 if (!args
!argsDescription
TRUEnever evaluated
FALSEnever evaluated
|| !*args
!*argsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
368 local_do_shell("ls");
never executed: local_do_shell("ls");
0
369 else {-
370 int len = strlen("ls" " ") + strlen(args) + 1;-
371 char *buf = xmalloc(len);-
372-
373-
374 snprintf(buf, len, "ls" " %s", args);-
375 local_do_shell(buf);-
376 free(buf);-
377 }
never executed: end of block
0
378}-
379-
380-
381static char *-
382path_strip(const char *path, const char *strip)-
383{-
384 size_t len;-
385-
386 if (strip ==
strip == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
387 ((void *)0)
strip == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
388 )-
389 return
never executed: return (xstrdup(path));
(xstrdup(path));
never executed: return (xstrdup(path));
0
390-
391 len = strlen(strip);-
392 if (-
393 (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_constant_p ( len )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
394 len
__builtin_constant_p ( len )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
395 )
__builtin_constant_p ( len )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((__builtin_constant_p (
__builtin_constant_p ( path )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
396 path
__builtin_constant_p ( path )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
397 )
__builtin_constant_p ( path )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( path ...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
398 path
strlen ( path ...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
399 ) < ((size_t) (
strlen ( path ...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
400 len
strlen ( path ...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
401 ))
strlen ( path ...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
) || (__builtin_constant_p (
__builtin_constant_p ( strip )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
402 strip
__builtin_constant_p ( strip )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
403 )
__builtin_constant_p ( strip )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( strip...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
404 strip
strlen ( strip...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
405 ) < ((size_t) (
strlen ( strip...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
406 len
strlen ( strip...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
407 ))
strlen ( strip...ze_t) ( len ))Description
TRUEnever evaluated
FALSEnever evaluated
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
408 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
409 ) && __builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
410 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
411 ) && (__s1_len = __builtin_strlen (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
412 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
413 ), __s2_len = __builtin_strlen (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
414 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
415 ), (!((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
416 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
417 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
418 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
419 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
420 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
421 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
422 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
423 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
424 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
425 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
426 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
427 ) : (__builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
428 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
429 ) && ((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
430 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
431 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
432 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
433 ) == 1) && (__s1_len = __builtin_strlen (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
434 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
435 ), __s1_len < 4) ? (__builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
436 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
437 ) && ((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
438 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
439 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
440 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
441 ) == 1) ? __builtin_strcmp (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
442 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
443 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
444 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
445 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
446 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
447 ); int __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
448 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
449 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
450 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
451 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
452 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
453 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( path ))[3] - __s2[3]);
0
454 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( path ))[3] - __s2[3]);
0
455 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
456 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
457 ) && ((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
458 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
459 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
460 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
461 ) == 1) && (__s2_len = __builtin_strlen (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
462 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
463 ), __s2_len < 4) ? (__builtin_constant_p (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
464 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
465 ) && ((size_t)(const void *)((
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
466 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
467 ) + 1) - (size_t)(const void *)(
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
468 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
469 ) == 1) ? __builtin_strcmp (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
470 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
471 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
472 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
473 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
474 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
475 ); int __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
476 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
477 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
478 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
479 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
480 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
481 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( strip ))[3] - __s2[3]);
0
482 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( strip ))[3] - __s2[3]);
0
483 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
484 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
485 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
486 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
487 )))); }) : strncmp (
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
488 path
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
489 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
490 strip
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
491 ,
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
492 len
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
493 )))
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
494 == 0
(__extension__..., len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
495 if (strip[len - 1] != '/'
strip[len - 1] != '/'Description
TRUEnever evaluated
FALSEnever evaluated
&& path[len] == '/'
path[len] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
496 len++;
never executed: len++;
0
497 return
never executed: return (xstrdup(path + len));
(xstrdup(path + len));
never executed: return (xstrdup(path + len));
0
498 }-
499-
500 return
never executed: return (xstrdup(path));
(xstrdup(path));
never executed: return (xstrdup(path));
0
501}-
502-
503static char *-
504make_absolute(char *p, const char *pwd)-
505{-
506 char *abs_str;-
507-
508-
509 if (p
pDescription
TRUEnever evaluated
FALSEnever evaluated
&& p[0] != '/'
p[0] != '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
510 abs_str = path_append(pwd, p);-
511 free(p);-
512 return
never executed: return(abs_str);
(abs_str);
never executed: return(abs_str);
0
513 } else-
514 return
never executed: return(p);
(p);
never executed: return(p);
0
515}-
516-
517static int-
518parse_getput_flags(const char *cmd, char **argv, int argc,-
519 int *aflag, int *fflag, int *pflag, int *rflag)-
520{-
521 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
522 int ch;-
523-
524 BSDoptind = BSDoptreset = 1;-
525 BSDopterr = 0;-
526-
527 *aflag = *fflag = *rflag = *pflag = 0;-
528 while ((
(ch = BSDgetop...fPpRr")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "afPpRr")) != -1
(ch = BSDgetop...fPpRr")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
529 switch (ch) {-
530 case
never executed: case 'a':
'a':
never executed: case 'a':
0
531 *aflag = 1;-
532 break;
never executed: break;
0
533 case
never executed: case 'f':
'f':
never executed: case 'f':
0
534 *fflag = 1;-
535 break;
never executed: break;
0
536 case
never executed: case 'p':
'p':
never executed: case 'p':
0
537 case
never executed: case 'P':
'P':
never executed: case 'P':
0
538 *pflag = 1;-
539 break;
never executed: break;
0
540 case
never executed: case 'r':
'r':
never executed: case 'r':
0
541 case
never executed: case 'R':
'R':
never executed: case 'R':
0
542 *rflag = 1;-
543 break;
never executed: break;
0
544 default
never executed: default:
:
never executed: default:
0
545 error("%s: Invalid flag -%c", cmd, BSDoptopt);-
546 return
never executed: return -1;
-1;
never executed: return -1;
0
547 }-
548 }-
549-
550 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
551}-
552-
553static int-
554parse_link_flags(const char *cmd, char **argv, int argc, int *sflag)-
555{-
556 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
557 int ch;-
558-
559 BSDoptind = BSDoptreset = 1;-
560 BSDopterr = 0;-
561-
562 *sflag = 0;-
563 while ((
(ch = BSDgetop...v, "s")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "s")) != -1
(ch = BSDgetop...v, "s")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
564 switch (ch) {-
565 case
never executed: case 's':
's':
never executed: case 's':
0
566 *sflag = 1;-
567 break;
never executed: break;
0
568 default
never executed: default:
:
never executed: default:
0
569 error("%s: Invalid flag -%c", cmd, BSDoptopt);-
570 return
never executed: return -1;
-1;
never executed: return -1;
0
571 }-
572 }-
573-
574 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
575}-
576-
577static int-
578parse_rename_flags(const char *cmd, char **argv, int argc, int *lflag)-
579{-
580 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
581 int ch;-
582-
583 BSDoptind = BSDoptreset = 1;-
584 BSDopterr = 0;-
585-
586 *lflag = 0;-
587 while ((
(ch = BSDgetop...v, "l")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "l")) != -1
(ch = BSDgetop...v, "l")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
588 switch (ch) {-
589 case
never executed: case 'l':
'l':
never executed: case 'l':
0
590 *lflag = 1;-
591 break;
never executed: break;
0
592 default
never executed: default:
:
never executed: default:
0
593 error("%s: Invalid flag -%c", cmd, BSDoptopt);-
594 return
never executed: return -1;
-1;
never executed: return -1;
0
595 }-
596 }-
597-
598 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
599}-
600-
601static int-
602parse_ls_flags(char **argv, int argc, int *lflag)-
603{-
604 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
605 int ch;-
606-
607 BSDoptind = BSDoptreset = 1;-
608 BSDopterr = 0;-
609-
610 *lflag = 0x0008;-
611 while ((
(ch = BSDgetop...hlnrt")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "1Safhlnrt")) != -1
(ch = BSDgetop...hlnrt")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
612 switch (ch) {-
613 case
never executed: case '1':
'1':
never executed: case '1':
0
614 *lflag &= ~(0x0001|0x0002|0x0004|0x0100);-
615 *lflag |= 0x0002;-
616 break;
never executed: break;
0
617 case
never executed: case 'S':
'S':
never executed: case 'S':
0
618 *lflag &= ~(0x0008|0x0010|0x0020);-
619 *lflag |= 0x0020;-
620 break;
never executed: break;
0
621 case
never executed: case 'a':
'a':
never executed: case 'a':
0
622 *lflag |= 0x0080;-
623 break;
never executed: break;
0
624 case
never executed: case 'f':
'f':
never executed: case 'f':
0
625 *lflag &= ~(0x0008|0x0010|0x0020);-
626 break;
never executed: break;
0
627 case
never executed: case 'h':
'h':
never executed: case 'h':
0
628 *lflag |= 0x0100;-
629 break;
never executed: break;
0
630 case
never executed: case 'l':
'l':
never executed: case 'l':
0
631 *lflag &= ~0x0002;-
632 *lflag |= 0x0001;-
633 break;
never executed: break;
0
634 case
never executed: case 'n':
'n':
never executed: case 'n':
0
635 *lflag &= ~0x0002;-
636 *lflag |= 0x0004|0x0001;-
637 break;
never executed: break;
0
638 case
never executed: case 'r':
'r':
never executed: case 'r':
0
639 *lflag |= 0x0040;-
640 break;
never executed: break;
0
641 case
never executed: case 't':
't':
never executed: case 't':
0
642 *lflag &= ~(0x0008|0x0010|0x0020);-
643 *lflag |= 0x0010;-
644 break;
never executed: break;
0
645 default
never executed: default:
:
never executed: default:
0
646 error("ls: Invalid flag -%c", BSDoptopt);-
647 return
never executed: return -1;
-1;
never executed: return -1;
0
648 }-
649 }-
650-
651 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
652}-
653-
654static int-
655parse_df_flags(const char *cmd, char **argv, int argc, int *hflag, int *iflag)-
656{-
657 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
658 int ch;-
659-
660 BSDoptind = BSDoptreset = 1;-
661 BSDopterr = 0;-
662-
663 *hflag = *iflag = 0;-
664 while ((
(ch = BSDgetop..., "hi")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "hi")) != -1
(ch = BSDgetop..., "hi")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
665 switch (ch) {-
666 case
never executed: case 'h':
'h':
never executed: case 'h':
0
667 *hflag = 1;-
668 break;
never executed: break;
0
669 case
never executed: case 'i':
'i':
never executed: case 'i':
0
670 *iflag = 1;-
671 break;
never executed: break;
0
672 default
never executed: default:
:
never executed: default:
0
673 error("%s: Invalid flag -%c", cmd, BSDoptopt);-
674 return
never executed: return -1;
-1;
never executed: return -1;
0
675 }-
676 }-
677-
678 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
679}-
680-
681static int-
682parse_no_flags(const char *cmd, char **argv, int argc)-
683{-
684 extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;-
685 int ch;-
686-
687 BSDoptind = BSDoptreset = 1;-
688 BSDopterr = 0;-
689-
690 while ((
(ch = BSDgetop...gv, "")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "")) != -1
(ch = BSDgetop...gv, "")) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
691 switch (ch) {-
692 default
never executed: default:
:
never executed: default:
0
693 error("%s: Invalid flag -%c", cmd, BSDoptopt);-
694 return
never executed: return -1;
-1;
never executed: return -1;
0
695 }-
696 }-
697-
698 return
never executed: return BSDoptind;
BSDoptind;
never executed: return BSDoptind;
0
699}-
700-
701static int-
702is_dir(const char *path)-
703{-
704 struct stat sb;-
705-
706-
707 if (stat(path, &sb) == -1
stat(path, &sb) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
708 return
never executed: return(0);
(0);
never executed: return(0);
0
709-
710 return
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
(
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
0
711 ((((
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
0
712 sb.st_mode
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
0
713 )) & 0170000) == (0040000))
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
0
714 );
never executed: return( (((( sb.st_mode )) & 0170000) == (0040000)) );
0
715}-
716-
717static int-
718remote_is_dir(struct sftp_conn *conn, const char *path)-
719{-
720 Attrib *a;-
721-
722-
723 if ((
(a = do_stat(c...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
a = do_stat(conn, path, 1)) ==
(a = do_stat(c...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
724 ((void *)0)
(a = do_stat(c...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
725 )-
726 return
never executed: return(0);
(0);
never executed: return(0);
0
727 if (!(a->flags & 0x00000004)
!(a->flags & 0x00000004)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
728 return
never executed: return(0);
(0);
never executed: return(0);
0
729 return
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
(
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
0
730 ((((
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
0
731 a->perm
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
0
732 )) & 0170000) == (0040000))
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
0
733 );
never executed: return( (((( a->perm )) & 0170000) == (0040000)) );
0
734}-
735-
736-
737static int-
738pathname_is_dir(const char *pathname)-
739{-
740 size_t l = strlen(pathname);-
741-
742 return
never executed: return l > 0 && pathname[l - 1] == '/';
l > 0
l > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& pathname[l - 1] == '/'
pathname[l - 1] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
;
never executed: return l > 0 && pathname[l - 1] == '/';
0
743}-
744-
745static int-
746process_get(struct sftp_conn *conn, const char *src, const char *dst,-
747 const char *pwd, int pflag, int rflag, int resume, int fflag)-
748{-
749 char *abs_src = -
750 ((void *)0)-
751 ;-
752 char *abs_dst = -
753 ((void *)0)-
754 ;-
755 _ssh_compat_glob_t g;-
756 char *filename, *tmp=-
757 ((void *)0)-
758 ;-
759 int i, r, err = 0;-
760-
761 abs_src = xstrdup(src);-
762 abs_src = make_absolute(abs_src, pwd);-
763 memset(&g, 0, sizeof(g));-
764-
765 debug3("Looking up %s", abs_src);-
766 if ((
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = remote_glob(conn, abs_src, 0x0008,
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
767 ((void *)0)
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
768 , &g)) != 0
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
769 if (r == (-1)
r == (-1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
770 error("Too many matches for \"%s\".", abs_src);-
771 }
never executed: end of block
else {
0
772 error("File \"%s\" not found.", abs_src);-
773 }
never executed: end of block
0
774 err = -1;-
775 goto
never executed: goto out;
out;
never executed: goto out;
0
776 }-
777-
778-
779-
780-
781-
782 if (g.gl_matchc > 1
g.gl_matchc > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& dst !=
dst != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
783 ((void *)0)
dst != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
784 && !is_dir(dst)
!is_dir(dst)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
785 error("Multiple source paths, but destination "-
786 "\"%s\" is not a directory", dst);-
787 err = -1;-
788 goto
never executed: goto out;
out;
never executed: goto out;
0
789 }-
790-
791 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
792 tmp = xstrdup(g.gl_pathv[i]);-
793 if ((
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
filename =
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
794 __xpg_basename
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
795 (tmp)) ==
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
796 ((void *)0)
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
797 ) {-
798 error("basename %s: %s", tmp, strerror(-
799 (*__errno_location ())-
800 ));-
801 free(tmp);-
802 err = -1;-
803 goto
never executed: goto out;
out;
never executed: goto out;
0
804 }-
805-
806 if (g.gl_matchc == 1
g.gl_matchc == 1Description
TRUEnever evaluated
FALSEnever evaluated
&& dst
dstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
807 if (is_dir(dst)
is_dir(dst)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
808 abs_dst = path_append(dst, filename);-
809 }
never executed: end of block
else {
0
810 abs_dst = xstrdup(dst);-
811 }
never executed: end of block
0
812 } else if (dst
dstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
813 abs_dst = path_append(dst, filename);-
814 }
never executed: end of block
else {
0
815 abs_dst = xstrdup(filename);-
816 }
never executed: end of block
0
817 free(tmp);-
818-
819 resume |= global_aflag;-
820 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
&& resume
resumeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
821 mprintf("Resuming %s to %s\n",
never executed: mprintf("Resuming %s to %s\n", g.gl_pathv[i], abs_dst);
0
822 g.gl_pathv[i], abs_dst);
never executed: mprintf("Resuming %s to %s\n", g.gl_pathv[i], abs_dst);
0
823 else if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
&& !resume
!resumeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
824 mprintf("Fetching %s to %s\n",
never executed: mprintf("Fetching %s to %s\n", g.gl_pathv[i], abs_dst);
0
825 g.gl_pathv[i], abs_dst);
never executed: mprintf("Fetching %s to %s\n", g.gl_pathv[i], abs_dst);
0
826 if (pathname_is_dir(g.gl_pathv[i])
pathname_is_dir(g.gl_pathv[i])Description
TRUEnever evaluated
FALSEnever evaluated
&& (rflag
rflagDescription
TRUEnever evaluated
FALSEnever evaluated
|| global_rflag
global_rflagDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
827 if (download_dir(conn, g.gl_pathv[i], abs_dst,
download_dir(c...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
828 ((void *)0)
download_dir(c...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
829 ,
download_dir(c...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
830 pflag || global_pflag, 1, resume,
download_dir(c...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
831 fflag || global_fflag) == -1
download_dir(c...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
832 err = -1;
never executed: err = -1;
0
833 }
never executed: end of block
else {
0
834 if (do_download(conn, g.gl_pathv[i], abs_dst,
do_download(co...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
835 ((void *)0)
do_download(co...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
836 ,
do_download(co...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
837 pflag || global_pflag, resume,
do_download(co...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
838 fflag || global_fflag) == -1
do_download(co...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
839 err = -1;
never executed: err = -1;
0
840 }
never executed: end of block
0
841 free(abs_dst);-
842 abs_dst = -
843 ((void *)0)-
844 ;-
845 }
never executed: end of block
0
846-
847out:
code before this statement never executed: out:
0
848 free(abs_src);-
849 _ssh__compat_globfree(&g);-
850 return
never executed: return(err);
(err);
never executed: return(err);
0
851}-
852-
853static int-
854process_put(struct sftp_conn *conn, const char *src, const char *dst,-
855 const char *pwd, int pflag, int rflag, int resume, int fflag)-
856{-
857 char *tmp_dst = -
858 ((void *)0)-
859 ;-
860 char *abs_dst = -
861 ((void *)0)-
862 ;-
863 char *tmp = -
864 ((void *)0)-
865 , *filename = -
866 ((void *)0)-
867 ;-
868 _ssh_compat_glob_t g;-
869 int err = 0;-
870 int i, dst_is_dir = 1;-
871 struct stat sb;-
872-
873 if (dst
dstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
874 tmp_dst = xstrdup(dst);-
875 tmp_dst = make_absolute(tmp_dst, pwd);-
876 }
never executed: end of block
0
877-
878 memset(&g, 0, sizeof(g));-
879 debug3("Looking up %s", src);-
880 if (_ssh__compat_glob(src, 0x0010 | 0x0008,
_ssh__compat_g...oid *)0) , &g)Description
TRUEnever evaluated
FALSEnever evaluated
0
881 ((void *)0)
_ssh__compat_g...oid *)0) , &g)Description
TRUEnever evaluated
FALSEnever evaluated
0
882 , &g)
_ssh__compat_g...oid *)0) , &g)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
883 error("File \"%s\" not found.", src);-
884 err = -1;-
885 goto
never executed: goto out;
out;
never executed: goto out;
0
886 }-
887-
888-
889 if (tmp_dst !=
tmp_dst != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
890 ((void *)0)
tmp_dst != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
891 )-
892 dst_is_dir = remote_is_dir(conn, tmp_dst);
never executed: dst_is_dir = remote_is_dir(conn, tmp_dst);
0
893-
894-
895 if (g.gl_matchc > 1
g.gl_matchc > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& tmp_dst
tmp_dstDescription
TRUEnever evaluated
FALSEnever evaluated
&& !dst_is_dir
!dst_is_dirDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
896 error("Multiple paths match, but destination "-
897 "\"%s\" is not a directory", tmp_dst);-
898 err = -1;-
899 goto
never executed: goto out;
out;
never executed: goto out;
0
900 }-
901-
902 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
903 if (stat(g.gl_pathv[i], &sb) == -1
stat(g.gl_pathv[i], &sb) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
904 err = -1;-
905 error("stat %s: %s", g.gl_pathv[i], strerror(-
906 (*__errno_location ())-
907 ));-
908 continue;
never executed: continue;
0
909 }-
910-
911 tmp = xstrdup(g.gl_pathv[i]);-
912 if ((
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
filename =
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
913 __xpg_basename
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
914 (tmp)) ==
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
915 ((void *)0)
(filename = __...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
916 ) {-
917 error("basename %s: %s", tmp, strerror(-
918 (*__errno_location ())-
919 ));-
920 free(tmp);-
921 err = -1;-
922 goto
never executed: goto out;
out;
never executed: goto out;
0
923 }-
924-
925 if (g.gl_matchc == 1
g.gl_matchc == 1Description
TRUEnever evaluated
FALSEnever evaluated
&& tmp_dst
tmp_dstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
926-
927 if (dst_is_dir
dst_is_dirDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
928 abs_dst = path_append(tmp_dst, filename);
never executed: abs_dst = path_append(tmp_dst, filename);
0
929 else-
930 abs_dst = xstrdup(tmp_dst);
never executed: abs_dst = xstrdup(tmp_dst);
0
931 } else if (tmp_dst
tmp_dstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
932 abs_dst = path_append(tmp_dst, filename);-
933 }
never executed: end of block
else {
0
934 abs_dst = make_absolute(xstrdup(filename), pwd);-
935 }
never executed: end of block
0
936 free(tmp);-
937-
938 resume |= global_aflag;-
939 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
&& resume
resumeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
940 mprintf("Resuming upload of %s to %s\n",
never executed: mprintf("Resuming upload of %s to %s\n", g.gl_pathv[i], abs_dst);
0
941 g.gl_pathv[i], abs_dst);
never executed: mprintf("Resuming upload of %s to %s\n", g.gl_pathv[i], abs_dst);
0
942 else if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
&& !resume
!resumeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
943 mprintf("Uploading %s to %s\n",
never executed: mprintf("Uploading %s to %s\n", g.gl_pathv[i], abs_dst);
0
944 g.gl_pathv[i], abs_dst);
never executed: mprintf("Uploading %s to %s\n", g.gl_pathv[i], abs_dst);
0
945 if (pathname_is_dir(g.gl_pathv[i])
pathname_is_dir(g.gl_pathv[i])Description
TRUEnever evaluated
FALSEnever evaluated
&& (rflag
rflagDescription
TRUEnever evaluated
FALSEnever evaluated
|| global_rflag
global_rflagDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
946 if (upload_dir(conn, g.gl_pathv[i], abs_dst,
upload_dir(con...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
947 pflag || global_pflag, 1, resume,
upload_dir(con...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
948 fflag || global_fflag) == -1
upload_dir(con...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
949 err = -1;
never executed: err = -1;
0
950 }
never executed: end of block
else {
0
951 if (do_upload(conn, g.gl_pathv[i], abs_dst,
do_upload(conn...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
952 pflag || global_pflag, resume,
do_upload(conn...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
953 fflag || global_fflag) == -1
do_upload(conn...l_fflag) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
954 err = -1;
never executed: err = -1;
0
955 }
never executed: end of block
0
956 }-
957-
958out:
code before this statement never executed: out:
0
959 free(abs_dst);-
960 free(tmp_dst);-
961 _ssh__compat_globfree(&g);-
962 return
never executed: return(err);
(err);
never executed: return(err);
0
963}-
964-
965static int-
966sdirent_comp(const void *aa, const void *bb)-
967{-
968 SFTP_DIRENT *a = *(SFTP_DIRENT **)aa;-
969 SFTP_DIRENT *b = *(SFTP_DIRENT **)bb;-
970 int rmul = sort_flag & 0x0040
sort_flag & 0x0040Description
TRUEnever evaluated
FALSEnever evaluated
? -1 : 1;
0
971-
972-
973 if (sort_flag & 0x0008
sort_flag & 0x0008Description
TRUEnever evaluated
FALSEnever evaluated
)
0
974 return
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
(rmul *
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
975 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
976 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
977 ) && __builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
978 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
979 ) && (__s1_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
980 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
981 ), __s2_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
982 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
983 ), (!((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
984 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
985 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
986 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
987 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
988 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
989 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
990 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
991 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
992 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
993 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
994 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
995 ) : (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
996 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
997 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
998 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
999 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1000 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1001 ) == 1) && (__s1_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1002 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1003 ), __s1_len < 4) ? (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1004 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1005 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1006 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1007 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1008 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1009 ) == 1) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1010 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1011 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1012 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1013 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1014 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1015 ); int __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1016 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1017 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1018 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1019 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1020 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1021 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( a->filename ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1022 a->filename
never executed: __result = (((const unsigned char *) (const char *) ( a->filename ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1023 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( a->filename ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1024 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1025 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1026 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1027 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1028 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1029 ) == 1) && (__s2_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1030 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1031 ), __s2_len < 4) ? (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1032 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1033 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1034 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1035 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1036 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1037 ) == 1) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1038 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1039 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1040 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1041 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1042 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1043 ); int __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1044 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1045 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1046 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1047 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1048 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1049 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1050 b->filename
never executed: __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1051 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1052 a->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1053 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1054 b->filename
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1055 )))); })
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1056 );
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->filename ) && __builtin_constant_p ( b->filename ) && (__s1_len = __builtin_strlen ( a->filename ), __s2_len = __builtin_strlen ( b->filename ), (!((size_t)(const void *...ned char *) (const char *) ( b->filename ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->filename ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->filename , b->filename )))); }) );
0
1057 else if (sort_flag & 0x0010
sort_flag & 0x0010Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1058 return
never executed: return (rmul * (a->a.mtime == b->a.mtime ? 0 : (a->a.mtime < b->a.mtime ? 1 : -1)));
(rmul * (a->a.mtime == b->a.mtime ? 0 : (a->a.mtime < b->a.mtime ? 1 : -1)));
never executed: return (rmul * (a->a.mtime == b->a.mtime ? 0 : (a->a.mtime < b->a.mtime ? 1 : -1)));
0
1059 else if (sort_flag & 0x0020
sort_flag & 0x0020Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1060 return
never executed: return (rmul * (a->a.size == b->a.size ? 0 : (a->a.size < b->a.size ? 1 : -1)));
(rmul * (a->a.size == b->a.size ? 0 : (a->a.size < b->a.size ? 1 : -1)));
never executed: return (rmul * (a->a.size == b->a.size ? 0 : (a->a.size < b->a.size ? 1 : -1)));
0
1061-
1062 fatal("Unknown ls sort type");-
1063}
never executed: end of block
0
1064-
1065-
1066static int-
1067do_ls_dir(struct sftp_conn *conn, const char *path,-
1068 const char *strip_path, int lflag)-
1069{-
1070 int n;-
1071 u_int c = 1, colspace = 0, columns = 1;-
1072 SFTP_DIRENT **d;-
1073-
1074 if ((
(n = do_readdi...ath, &d)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
n = do_readdir(conn, path, &d)) != 0
(n = do_readdi...ath, &d)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1075 return
never executed: return (n);
(n);
never executed: return (n);
0
1076-
1077 if (!(lflag & 0x0002)
!(lflag & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1078 u_int m = 0, width = 80;-
1079 struct winsize ws;-
1080 char *tmp;-
1081-
1082-
1083 for (n = 0; d[n] !=
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1084 ((void *)0)
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1085 ; n++) {-
1086 if (d[n]->filename[0] != '.'
d[n]->filename[0] != '.'Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(lflag & 0x0080)Description
TRUEnever evaluated
FALSEnever evaluated
lflag & 0x0080)
(lflag & 0x0080)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1087 m = (((
((m) > (strlen...]->filename)))Description
TRUEnever evaluated
FALSEnever evaluated
m) > (strlen(d[n]->filename)))
((m) > (strlen...]->filename)))Description
TRUEnever evaluated
FALSEnever evaluated
? (m) : (strlen(d[n]->filename)));
never executed: m = (((m) > (strlen(d[n]->filename))) ? (m) : (strlen(d[n]->filename)));
0
1088 }
never executed: end of block
0
1089-
1090-
1091 tmp = path_strip(path, strip_path);-
1092 m += strlen(tmp);-
1093 free(tmp);-
1094-
1095 if (ioctl(fileno(
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1096 stdin
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1097 ),
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1098 0x5413
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1099 , &ws) != -1
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1100 width = ws.ws_col;
never executed: width = ws.ws_col;
0
1101-
1102 columns = width / (m + 2);-
1103 columns = (((
((columns) > (1))Description
TRUEnever evaluated
FALSEnever evaluated
columns) > (1))
((columns) > (1))Description
TRUEnever evaluated
FALSEnever evaluated
? (columns) : (1));
0
1104 colspace = width / columns;-
1105 colspace = (((
((colspace) < (width))Description
TRUEnever evaluated
FALSEnever evaluated
colspace) < (width))
((colspace) < (width))Description
TRUEnever evaluated
FALSEnever evaluated
? (colspace) : (width));
0
1106 }
never executed: end of block
0
1107-
1108 if (lflag & (0x0008|0x0010|0x0020)
lflag & (0x0008|0x0010|0x0020)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1109 for (n = 0; d[n] !=
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1110 ((void *)0)
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1111 ; n++)-
1112 ;
never executed: ;
0
1113 sort_flag = lflag & ((0x0008|0x0010|0x0020)|0x0040);-
1114 qsort(d, n, sizeof(*d), sdirent_comp);-
1115 }
never executed: end of block
0
1116-
1117 for (n = 0; d[n] !=
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1118 ((void *)0)
d[n] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1119 && !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; n++) {
0
1120 char *tmp, *fname;-
1121-
1122 if (d[n]->filename[0] == '.'
d[n]->filename[0] == '.'Description
TRUEnever evaluated
FALSEnever evaluated
&& !(lflag & 0x0080)
!(lflag & 0x0080)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1123 continue;
never executed: continue;
0
1124-
1125 tmp = path_append(path, d[n]->filename);-
1126 fname = path_strip(tmp, strip_path);-
1127 free(tmp);-
1128-
1129 if (lflag & 0x0001
lflag & 0x0001Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1130 if (lflag & (0x0004|0x0100)
lflag & (0x0004|0x0100)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1131 char *lname;-
1132 struct stat sb;-
1133-
1134 memset(&sb, 0, sizeof(sb));-
1135 attrib_to_stat(&d[n]->a, &sb);-
1136 lname = ls_file(fname, &sb, 1,-
1137 (lflag & 0x0100));-
1138 mprintf("%s\n", lname);-
1139 free(lname);-
1140 }
never executed: end of block
else
0
1141 mprintf("%s\n", d[n]->longname);
never executed: mprintf("%s\n", d[n]->longname);
0
1142 } else {-
1143 mprintf("%-*s", colspace, fname);-
1144 if (c >= columns
c >= columnsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1145 printf("\n");-
1146 c = 1;-
1147 }
never executed: end of block
else
0
1148 c++;
never executed: c++;
0
1149 }-
1150-
1151 free(fname);-
1152 }
never executed: end of block
0
1153-
1154 if (!(lflag & 0x0001)
!(lflag & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(c != 1)Description
TRUEnever evaluated
FALSEnever evaluated
c != 1)
(c != 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1155 printf("\n");
never executed: printf("\n");
0
1156-
1157 free_sftp_dirents(d);-
1158 return
never executed: return (0);
(0);
never executed: return (0);
0
1159}-
1160-
1161static int-
1162sglob_comp(const void *aa, const void *bb)-
1163{-
1164 u_int a = *(const u_int *)aa;-
1165 u_int b = *(const u_int *)bb;-
1166 const char *ap = sort_glob->gl_pathv[a];-
1167 const char *bp = sort_glob->gl_pathv[b];-
1168 const struct stat *as = sort_glob->gl_statv[a];-
1169 const struct stat *bs = sort_glob->gl_statv[b];-
1170 int rmul = sort_flag & 0x0040
sort_flag & 0x0040Description
TRUEnever evaluated
FALSEnever evaluated
? -1 : 1;
0
1171-
1172-
1173 if (sort_flag & 0x0008
sort_flag & 0x0008Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1174 return
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
(rmul *
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1175 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1176 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1177 ) && __builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1178 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1179 ) && (__s1_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1180 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1181 ), __s2_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1182 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1183 ), (!((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1184 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1185 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1186 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1187 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1188 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1189 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1190 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1191 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1192 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1193 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1194 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1195 ) : (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1196 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1197 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1198 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1199 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1200 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1201 ) == 1) && (__s1_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1202 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1203 ), __s1_len < 4) ? (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1204 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1205 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1206 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1207 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1208 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1209 ) == 1) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1210 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1211 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1212 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1213 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1214 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1215 ); int __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1216 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1217 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1218 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1219 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1220 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1221 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ap ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1222 ap
never executed: __result = (((const unsigned char *) (const char *) ( ap ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1223 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( ap ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1224 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1225 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1226 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1227 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1228 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1229 ) == 1) && (__s2_len = __builtin_strlen (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1230 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1231 ), __s2_len < 4) ? (__builtin_constant_p (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1232 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1233 ) && ((size_t)(const void *)((
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1234 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1235 ) + 1) - (size_t)(const void *)(
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1236 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1237 ) == 1) ? __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1238 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1239 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1240 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1241 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1242 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1243 ); int __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1244 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1245 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1246 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1247 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1248 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1249 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1250 bp
never executed: __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]);
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1251 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : __builtin_strcmp (
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1252 ap
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1253 ,
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1254 bp
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1255 )))); })
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1256 );
never executed: return (rmul * __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( ap ) && __builtin_constant_p ( bp ) && (__s1_len = __builtin_strlen ( ap ), __s2_len = __builtin_strlen ( bp ), (!((size_t)(const void *)(( ap ) + 1) - (size_t)(const void ...lt == 0) { __result = (((const unsigned char *) (const char *) ( bp ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( bp ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( ap , bp )))); }) );
0
1257 else if (sort_flag & 0x0010
sort_flag & 0x0010Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1258-
1259 return
never executed: return (rmul * (((&as->st_mtim)->tv_sec == (&bs->st_mtim)->tv_sec) ? ((&as->st_mtim)->tv_nsec < (&bs->st_mtim)->tv_nsec) : ((&as->st_mtim)->tv_sec < (&bs->st_mtim)->tv_sec)));
(rmul * (((&as->st_mtim)->tv_sec == (&bs->st_mtim)->tv_sec) ? ((&as->st_mtim)->tv_nsec < (&bs->st_mtim)->tv_nsec) : ((&as->st_mtim)->tv_sec < (&bs->st_mtim)->tv_sec)));
never executed: return (rmul * (((&as->st_mtim)->tv_sec == (&bs->st_mtim)->tv_sec) ? ((&as->st_mtim)->tv_nsec < (&bs->st_mtim)->tv_nsec) : ((&as->st_mtim)->tv_sec < (&bs->st_mtim)->tv_sec)));
0
1260-
1261-
1262-
1263-
1264-
1265 } else if (sort_flag & 0x0020
sort_flag & 0x0020Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1266 return
never executed: return (rmul * (as->st_size == bs->st_size ? 0 : (as->st_size < bs->st_size ? 1 : -1)));
(rmul * (as->st_size == bs->st_size ? 0 : (as->st_size < bs->st_size ? 1 : -1)));
never executed: return (rmul * (as->st_size == bs->st_size ? 0 : (as->st_size < bs->st_size ? 1 : -1)));
0
1267-
1268 fatal("Unknown ls sort type");-
1269}
never executed: end of block
0
1270-
1271-
1272static int-
1273do_globbed_ls(struct sftp_conn *conn, const char *path,-
1274 const char *strip_path, int lflag)-
1275{-
1276 char *fname, *lname;-
1277 _ssh_compat_glob_t g;-
1278 int err, r;-
1279 struct winsize ws;-
1280 u_int i, j, nentries, *indices = -
1281 ((void *)0)-
1282 , c = 1;-
1283 u_int colspace = 0, columns = 1, m = 0, width = 80;-
1284-
1285 memset(&g, 0, sizeof(g));-
1286-
1287 if ((
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = remote_glob(conn, path,
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1288 0x0008|0x0010|0x0080|0x4000|0x0020,
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1289
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1290 ((void *)0)
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1291 , &g)) != 0
(r = remote_gl...0) , &g)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1292 (g.gl_pathc
g.gl_pathcDescription
TRUEnever evaluated
FALSEnever evaluated
&& !g.gl_matchc
!g.gl_matchcDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
1293 if (g.gl_pathc
g.gl_pathcDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1294 _ssh__compat_globfree(&g);
never executed: _ssh__compat_globfree(&g);
0
1295 if (r == (-1)
r == (-1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1296 error("Can't ls: Too many matches for \"%s\"", path);-
1297 }
never executed: end of block
else {
0
1298 error("Can't ls: \"%s\" not found", path);-
1299 }
never executed: end of block
0
1300 return
never executed: return -1;
-1;
never executed: return -1;
0
1301 }-
1302-
1303 if (interrupted
interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1304 goto
never executed: goto out;
out;
never executed: goto out;
0
1305-
1306-
1307-
1308-
1309-
1310 if (g.gl_matchc == 1
g.gl_matchc == 1Description
TRUEnever evaluated
FALSEnever evaluated
&& g.gl_statv[0] !=
g.gl_statv[0] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1311 ((void *)0)
g.gl_statv[0] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1312 &&-
1313 -
1314 ((((
(((( g.gl_stat... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
1315 g.gl_statv[0]->st_mode
(((( g.gl_stat... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
1316 )) & 0170000) == (0040000))
(((( g.gl_stat... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
1317 ) {-
1318 err = do_ls_dir(conn, g.gl_pathv[0], strip_path, lflag);-
1319 _ssh__compat_globfree(&g);-
1320 return
never executed: return err;
err;
never executed: return err;
0
1321 }-
1322-
1323 if (ioctl(fileno(
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1324 stdin
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1325 ),
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1326 0x5413
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1327 , &ws) != -1
ioctl(fileno( ...3 , &ws) != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1328 width = ws.ws_col;
never executed: width = ws.ws_col;
0
1329-
1330 if (!(lflag & 0x0002)
!(lflag & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1331-
1332 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
1333 m = (((
((m) > (strlen...gl_pathv[i])))Description
TRUEnever evaluated
FALSEnever evaluated
m) > (strlen(g.gl_pathv[i])))
((m) > (strlen...gl_pathv[i])))Description
TRUEnever evaluated
FALSEnever evaluated
? (m) : (strlen(g.gl_pathv[i])));
never executed: m = (((m) > (strlen(g.gl_pathv[i]))) ? (m) : (strlen(g.gl_pathv[i])));
0
1334-
1335 columns = width / (m + 2);-
1336 columns = (((
((columns) > (1))Description
TRUEnever evaluated
FALSEnever evaluated
columns) > (1))
((columns) > (1))Description
TRUEnever evaluated
FALSEnever evaluated
? (columns) : (1));
0
1337 colspace = width / columns;-
1338 }
never executed: end of block
0
1339-
1340-
1341-
1342-
1343-
1344-
1345 for (nentries = 0; g.gl_pathv[nentries] !=
g.gl_pathv[nen...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1346 ((void *)0)
g.gl_pathv[nen...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1347 ; nentries++)-
1348 ;
never executed: ;
0
1349 indices = calloc(nentries, sizeof(*indices));-
1350 for (i = 0; i < nentries
i < nentriesDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
1351 indices[i] = i;
never executed: indices[i] = i;
0
1352-
1353 if (lflag & (0x0008|0x0010|0x0020)
lflag & (0x0008|0x0010|0x0020)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1354 sort_glob = &g;-
1355 sort_flag = lflag & ((0x0008|0x0010|0x0020)|0x0040);-
1356 qsort(indices, nentries, sizeof(*indices), sglob_comp);-
1357 sort_glob = -
1358 ((void *)0)-
1359 ;-
1360 }
never executed: end of block
0
1361-
1362 for (j = 0; j < nentries
j < nentriesDescription
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
1363 i = indices[j];-
1364 fname = path_strip(g.gl_pathv[i], strip_path);-
1365 if (lflag & 0x0001
lflag & 0x0001Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1366 if (g.gl_statv[i] ==
g.gl_statv[i] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1367 ((void *)0)
g.gl_statv[i] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1368 ) {-
1369 error("no stat information for %s", fname);-
1370 continue;
never executed: continue;
0
1371 }-
1372 lname = ls_file(fname, g.gl_statv[i], 1,-
1373 (lflag & 0x0100));-
1374 mprintf("%s\n", lname);-
1375 free(lname);-
1376 }
never executed: end of block
else {
0
1377 mprintf("%-*s", colspace, fname);-
1378 if (c >= columns
c >= columnsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1379 printf("\n");-
1380 c = 1;-
1381 }
never executed: end of block
else
0
1382 c++;
never executed: c++;
0
1383 }-
1384 free(fname);-
1385 }
never executed: end of block
0
1386-
1387 if (!(lflag & 0x0001)
!(lflag & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(c != 1)Description
TRUEnever evaluated
FALSEnever evaluated
c != 1)
(c != 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1388 printf("\n");
never executed: printf("\n");
0
1389-
1390 out:
code before this statement never executed: out:
0
1391 if (g.gl_pathc
g.gl_pathcDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1392 _ssh__compat_globfree(&g);
never executed: _ssh__compat_globfree(&g);
0
1393 free(indices);-
1394-
1395 return
never executed: return 0;
0;
never executed: return 0;
0
1396}-
1397-
1398static int-
1399do_df(struct sftp_conn *conn, const char *path, int hflag, int iflag)-
1400{-
1401 struct sftp_statvfs st;-
1402 char s_used[7], s_avail[7];-
1403 char s_root[7], s_total[7];-
1404 char s_icapacity[16], s_dcapacity[16];-
1405-
1406 if (do_statvfs(conn, path, &st, 1) == -1
do_statvfs(con... &st, 1) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1407 return
never executed: return -1;
-1;
never executed: return -1;
0
1408 if (st.f_files == 0
st.f_files == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1409 strlcpy(s_icapacity, "ERR", sizeof(s_icapacity));
never executed: strlcpy(s_icapacity, "ERR", sizeof(s_icapacity));
0
1410 else {-
1411 snprintf(s_icapacity, sizeof(s_icapacity), "%3llu%%",-
1412 (unsigned long long)(100 * (st.f_files - st.f_ffree) /-
1413 st.f_files));-
1414 }
never executed: end of block
0
1415 if (st.f_blocks == 0
st.f_blocks == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1416 strlcpy(s_dcapacity, "ERR", sizeof(s_dcapacity));
never executed: strlcpy(s_dcapacity, "ERR", sizeof(s_dcapacity));
0
1417 else {-
1418 snprintf(s_dcapacity, sizeof(s_dcapacity), "%3llu%%",-
1419 (unsigned long long)(100 * (st.f_blocks - st.f_bfree) /-
1420 st.f_blocks));-
1421 }
never executed: end of block
0
1422 if (iflag
iflagDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1423 printf(" Inodes Used Avail "-
1424 "(root) %%Capacity\n");-
1425 printf("%11llu %11llu %11llu %11llu %s\n",-
1426 (unsigned long long)st.f_files,-
1427 (unsigned long long)(st.f_files - st.f_ffree),-
1428 (unsigned long long)st.f_favail,-
1429 (unsigned long long)st.f_ffree, s_icapacity);-
1430 }
never executed: end of block
else if (hflag
hflagDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1431 strlcpy(s_used, "error", sizeof(s_used));-
1432 strlcpy(s_avail, "error", sizeof(s_avail));-
1433 strlcpy(s_root, "error", sizeof(s_root));-
1434 strlcpy(s_total, "error", sizeof(s_total));-
1435 fmt_scaled((st.f_blocks - st.f_bfree) * st.f_frsize, s_used);-
1436 fmt_scaled(st.f_bavail * st.f_frsize, s_avail);-
1437 fmt_scaled(st.f_bfree * st.f_frsize, s_root);-
1438 fmt_scaled(st.f_blocks * st.f_frsize, s_total);-
1439 printf(" Size Used Avail (root) %%Capacity\n");-
1440 printf("%7sB %7sB %7sB %7sB %s\n",-
1441 s_total, s_used, s_avail, s_root, s_dcapacity);-
1442 }
never executed: end of block
else {
0
1443 printf(" Size Used Avail "-
1444 "(root) %%Capacity\n");-
1445 printf("%12llu %12llu %12llu %12llu %s\n",-
1446 (unsigned long long)(st.f_frsize * st.f_blocks / 1024),-
1447 (unsigned long long)(st.f_frsize *-
1448 (st.f_blocks - st.f_bfree) / 1024),-
1449 (unsigned long long)(st.f_frsize * st.f_bavail / 1024),-
1450 (unsigned long long)(st.f_frsize * st.f_bfree / 1024),-
1451 s_dcapacity);-
1452 }
never executed: end of block
0
1453 return
never executed: return 0;
0;
never executed: return 0;
0
1454}-
1455-
1456-
1457-
1458-
1459-
1460-
1461static void-
1462undo_glob_escape(char *s)-
1463{-
1464 size_t i, j;-
1465-
1466 for (i = j = 0;;) {-
1467 if (s[i] == '\0'
s[i] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1468 s[j] = '\0';-
1469 return;
never executed: return;
0
1470 }-
1471 if (s[i] != '\\'
s[i] != '\\'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1472 s[j++] = s[i++];-
1473 continue;
never executed: continue;
0
1474 }-
1475-
1476 ++i;-
1477 switch (s[i]) {-
1478 case
never executed: case '?':
'?':
never executed: case '?':
0
1479 case
never executed: case '[':
'[':
never executed: case '[':
0
1480 case
never executed: case '*':
'*':
never executed: case '*':
0
1481 case
never executed: case '\\':
'\\':
never executed: case '\\':
0
1482 s[j++] = s[i++];-
1483 break;
never executed: break;
0
1484 case
never executed: case '\0':
'\0':
never executed: case '\0':
0
1485 s[j++] = '\\';-
1486 s[j] = '\0';-
1487 return;
never executed: return;
0
1488 default
never executed: default:
:
never executed: default:
0
1489 s[j++] = '\\';-
1490 s[j++] = s[i++];-
1491 break;
never executed: break;
0
1492 }-
1493 }-
1494}
never executed: end of block
0
1495static char **-
1496makeargv(const char *arg, int *argcp, int sloppy, char *lastquote,-
1497 u_int *terminated)-
1498{-
1499 int argc, quot;-
1500 size_t i, j;-
1501 static char argvs[8192];-
1502 static char *argv[128 + 1];-
1503 enum { MA_START, MA_SQUOTE, MA_DQUOTE, MA_UNQUOTED } state, q;-
1504-
1505 *argcp = argc = 0;-
1506 if (strlen(arg) > sizeof(argvs) - 1
strlen(arg) > ...eof(argvs) - 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1507 args_too_longs:-
1508 error("string too long");-
1509 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1510 ((void *)0)
never executed: return ((void *)0) ;
0
1511 ;
never executed: return ((void *)0) ;
0
1512 }-
1513 if (terminated !=
terminated != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1514 ((void *)0)
terminated != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1515 )-
1516 *
never executed: *terminated = 1;
terminated = 1;
never executed: *terminated = 1;
0
1517 if (lastquote !=
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1518 ((void *)0)
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1519 )-
1520 *
never executed: *lastquote = '\0';
lastquote = '\0';
never executed: *lastquote = '\0';
0
1521 state = MA_START;-
1522 i = j = 0;-
1523 for (;;) {-
1524 if ((
(size_t)argc >... sizeof(*argv)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)argc >= sizeof(argv) / sizeof(*argv)
(size_t)argc >... sizeof(*argv)Description
TRUEnever evaluated
FALSEnever evaluated
){
0
1525 error("Too many arguments.");-
1526 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1527 ((void *)0)
never executed: return ((void *)0) ;
0
1528 ;
never executed: return ((void *)0) ;
0
1529 }-
1530 if (-
1531 ((*
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
__ctype_b_loc ())[(int) ((
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
1532 (unsigned char)arg[i]
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
1533 ))] & (unsigned short int) _ISspace)
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
1534 ) {-
1535 if (state == MA_UNQUOTED
state == MA_UNQUOTEDDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1536-
1537 argvs[j++] = '\0';-
1538 argc++;-
1539 state = MA_START;-
1540 }
never executed: end of block
else if (state != MA_START
state != MA_STARTDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1541 argvs[j++] = arg[i];
never executed: argvs[j++] = arg[i];
0
1542 }
never executed: end of block
else if (arg[i] == '"'
arg[i] == '"'Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i] == '\''
arg[i] == '\''Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1543 q = arg[i] == '"'
arg[i] == '"'Description
TRUEnever evaluated
FALSEnever evaluated
? MA_DQUOTE : MA_SQUOTE;
0
1544 if (state == MA_START
state == MA_STARTDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1545 argv[argc] = argvs + j;-
1546 state = q;-
1547 if (lastquote !=
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1548 ((void *)0)
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1549 )-
1550 *
never executed: *lastquote = arg[i];
lastquote = arg[i];
never executed: *lastquote = arg[i];
0
1551 }
never executed: end of block
else if (state == MA_UNQUOTED
state == MA_UNQUOTEDDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1552 state = q;
never executed: state = q;
0
1553 else if (state == q
state == qDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1554 state = MA_UNQUOTED;
never executed: state = MA_UNQUOTED;
0
1555 else-
1556 argvs[j++] = arg[i];
never executed: argvs[j++] = arg[i];
0
1557 } else if (arg[i] == '\\'
arg[i] == '\\'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1558 if (state == MA_SQUOTE
state == MA_SQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
|| state == MA_DQUOTE
state == MA_DQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1559 quot = state == MA_SQUOTE
state == MA_SQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
? '\'' : '"';
0
1560-
1561-
1562 if (arg[i + 1] == quot
arg[i + 1] == quotDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1563 i++;-
1564 argvs[j++] = arg[i];-
1565 }
never executed: end of block
else if (arg[i + 1] == '?'
arg[i + 1] == '?'Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1566 arg[i + 1] == '['
arg[i + 1] == '['Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i + 1] == '*'
arg[i + 1] == '*'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1567-
1568-
1569-
1570-
1571-
1572-
1573 if (j >= sizeof(argvs) - 5
j >= sizeof(argvs) - 5Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1574 goto
never executed: goto args_too_longs;
args_too_longs;
never executed: goto args_too_longs;
0
1575 argvs[j++] = '\\';-
1576 argvs[j++] = arg[i++];-
1577 argvs[j++] = '\\';-
1578 argvs[j++] = arg[i];-
1579 }
never executed: end of block
else {
0
1580 argvs[j++] = arg[i++];-
1581 argvs[j++] = arg[i];-
1582 }
never executed: end of block
0
1583 } else {-
1584 if (state == MA_START
state == MA_STARTDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1585 argv[argc] = argvs + j;-
1586 state = MA_UNQUOTED;-
1587 if (lastquote !=
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1588 ((void *)0)
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1589 )-
1590 *
never executed: *lastquote = '\0';
lastquote = '\0';
never executed: *lastquote = '\0';
0
1591 }
never executed: end of block
0
1592 if (arg[i + 1] == '?'
arg[i + 1] == '?'Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i + 1] == '['
arg[i + 1] == '['Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1593 arg[i + 1] == '*'
arg[i + 1] == '*'Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i + 1] == '\\'
arg[i + 1] == '\\'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1594-
1595-
1596-
1597-
1598-
1599-
1600 argvs[j++] = arg[i++];-
1601 argvs[j++] = arg[i];-
1602 }
never executed: end of block
else {
0
1603-
1604-
1605 i++;-
1606 argvs[j++] = arg[i];-
1607 }
never executed: end of block
0
1608 }-
1609 } else if (arg[i] == '#'
arg[i] == '#'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1610 if (state == MA_SQUOTE
state == MA_SQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
|| state == MA_DQUOTE
state == MA_DQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1611 argvs[j++] = arg[i];
never executed: argvs[j++] = arg[i];
0
1612 else-
1613 goto
never executed: goto string_done;
string_done;
never executed: goto string_done;
0
1614 } else if (arg[i] == '\0'
arg[i] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1615 if (state == MA_SQUOTE
state == MA_SQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
|| state == MA_DQUOTE
state == MA_DQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1616 if (sloppy
sloppyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1617 state = MA_UNQUOTED;-
1618 if (terminated !=
terminated != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1619 ((void *)0)
terminated != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1620 )-
1621 *
never executed: *terminated = 0;
terminated = 0;
never executed: *terminated = 0;
0
1622 goto
never executed: goto string_done;
string_done;
never executed: goto string_done;
0
1623 }-
1624 error("Unterminated quoted argument");-
1625 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1626 ((void *)0)
never executed: return ((void *)0) ;
0
1627 ;
never executed: return ((void *)0) ;
0
1628 }-
1629 string_done:
code before this statement never executed: string_done:
0
1630 if (state == MA_UNQUOTED
state == MA_UNQUOTEDDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1631 argvs[j++] = '\0';-
1632 argc++;-
1633 }
never executed: end of block
0
1634 break;
never executed: break;
0
1635 } else {-
1636 if (state == MA_START
state == MA_STARTDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1637 argv[argc] = argvs + j;-
1638 state = MA_UNQUOTED;-
1639 if (lastquote !=
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1640 ((void *)0)
lastquote != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1641 )-
1642 *
never executed: *lastquote = '\0';
lastquote = '\0';
never executed: *lastquote = '\0';
0
1643 }
never executed: end of block
0
1644 if ((state == MA_SQUOTE
state == MA_SQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
|| state == MA_DQUOTE
state == MA_DQUOTEDescription
TRUEnever evaluated
FALSEnever evaluated
) &&
0
1645 (arg[i] == '?'
arg[i] == '?'Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i] == '['
arg[i] == '['Description
TRUEnever evaluated
FALSEnever evaluated
|| arg[i] == '*'
arg[i] == '*'Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
1646-
1647-
1648-
1649-
1650-
1651 if (j >= sizeof(argvs) - 3
j >= sizeof(argvs) - 3Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1652 goto
never executed: goto args_too_longs;
args_too_longs;
never executed: goto args_too_longs;
0
1653 argvs[j++] = '\\';-
1654 argvs[j++] = arg[i];-
1655 }
never executed: end of block
else
0
1656 argvs[j++] = arg[i];
never executed: argvs[j++] = arg[i];
0
1657 }-
1658 i++;-
1659 }
never executed: end of block
0
1660 *argcp = argc;-
1661 return
never executed: return argv;
argv;
never executed: return argv;
0
1662}-
1663-
1664static int-
1665parse_args(const char **cpp, int *ignore_errors, int *aflag,-
1666 int *fflag, int *hflag, int *iflag, int *lflag, int *pflag,-
1667 int *rflag, int *sflag,-
1668 unsigned long *n_arg, char **path1, char **path2)-
1669{-
1670 const char *cmd, *cp = *cpp;-
1671 char *cp2, **argv;-
1672 int base = 0;-
1673 long l;-
1674 int path1_mandatory = 0, i, cmdnum, optidx, argc;-
1675-
1676-
1677 cp = cp + -
1678 __builtin_strspn (-
1679 cp-
1680 , -
1681 " \t\r\n"-
1682 )-
1683 ;-
1684-
1685-
1686 *ignore_errors = 0;-
1687 if (*
*cp == '-'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '-'
*cp == '-'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1688 *ignore_errors = 1;-
1689 cp++;-
1690 cp = cp + -
1691 __builtin_strspn (-
1692 cp-
1693 , -
1694 " \t\r\n"-
1695 )-
1696 ;-
1697 }
never executed: end of block
0
1698-
1699-
1700 if (*
*cp == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '\0'
*cp == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*cp == '#'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '#'
*cp == '#'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1701 return
never executed: return (0);
(0);
never executed: return (0);
0
1702-
1703 if ((
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
argv = makeargv(cp, &argc, 0,
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1704 ((void *)0)
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1705 ,
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1706 ((void *)0)
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1707 )) ==
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1708 ((void *)0)
(argv = makear...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1709 )-
1710 return
never executed: return -1;
-1;
never executed: return -1;
0
1711-
1712-
1713 for (i = 0; cmds[i].c !=
cmds[i].c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1714 ((void *)0)
cmds[i].c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1715 ; i++) {-
1716 if (argv[0] !=
argv[0] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1717 ((void *)0)
argv[0] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1718 && strcasecmp(cmds[i].c, argv[0]) == 0
strcasecmp(cmd... argv[0]) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1719 break;
never executed: break;
0
1720 }
never executed: end of block
0
1721 cmdnum = cmds[i].n;-
1722 cmd = cmds[i].c;-
1723-
1724-
1725 if (*
*cp == '!'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '!'
*cp == '!'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1726 cp++;-
1727 cmdnum = I_SHELL;-
1728 }
never executed: end of block
else if (cmdnum == -1
cmdnum == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1729 error("Invalid command.");-
1730 return
never executed: return -1;
-1;
never executed: return -1;
0
1731 }-
1732-
1733-
1734 *aflag = *fflag = *hflag = *iflag = *lflag = *pflag = 0;-
1735 *rflag = *sflag = 0;-
1736 *path1 = *path2 = -
1737 ((void *)0)-
1738 ;-
1739 optidx = 1;-
1740 switch (cmdnum) {-
1741 case
never executed: case I_GET:
I_GET:
never executed: case I_GET:
0
1742 case
never executed: case I_REGET:
I_REGET:
never executed: case I_REGET:
0
1743 case
never executed: case I_REPUT:
I_REPUT:
never executed: case I_REPUT:
0
1744 case
never executed: case I_PUT:
I_PUT:
never executed: case I_PUT:
0
1745 if ((
(optidx = pars... rflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_getput_flags(cmd, argv, argc,
(optidx = pars... rflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1746 aflag, fflag, pflag, rflag)) == -1
(optidx = pars... rflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1747 return
never executed: return -1;
-1;
never executed: return -1;
0
1748-
1749 if (argc - optidx < 1
argc - optidx < 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1750 error("You must specify at least one path after a "-
1751 "%s command.", cmd);-
1752 return
never executed: return -1;
-1;
never executed: return -1;
0
1753 }-
1754 *path1 = xstrdup(argv[optidx]);-
1755-
1756 if (argc - optidx > 1
argc - optidx > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1757 *path2 = xstrdup(argv[optidx + 1]);-
1758-
1759 undo_glob_escape(*path2);-
1760 }
never executed: end of block
0
1761 break;
never executed: break;
0
1762 case
never executed: case I_LINK:
I_LINK:
never executed: case I_LINK:
0
1763 if ((
(optidx = pars... sflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_link_flags(cmd, argv, argc, sflag)) == -1
(optidx = pars... sflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1764 return
never executed: return -1;
-1;
never executed: return -1;
0
1765 goto
never executed: goto parse_two_paths;
parse_two_paths;
never executed: goto parse_two_paths;
0
1766 case
never executed: case I_RENAME:
I_RENAME:
never executed: case I_RENAME:
0
1767 if ((
(optidx = pars... lflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_rename_flags(cmd, argv, argc, lflag)) == -1
(optidx = pars... lflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1768 return
never executed: return -1;
-1;
never executed: return -1;
0
1769 goto
never executed: goto parse_two_paths;
parse_two_paths;
never executed: goto parse_two_paths;
0
1770 case
never executed: case I_SYMLINK:
I_SYMLINK:
never executed: case I_SYMLINK:
0
1771 if ((
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_no_flags(cmd, argv, argc)) == -1
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1772 return
never executed: return -1;
-1;
never executed: return -1;
0
1773 parse_two_paths:
code before this statement never executed: parse_two_paths:
0
1774 if (argc - optidx < 2
argc - optidx < 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1775 error("You must specify two paths after a %s "-
1776 "command.", cmd);-
1777 return
never executed: return -1;
-1;
never executed: return -1;
0
1778 }-
1779 *path1 = xstrdup(argv[optidx]);-
1780 *path2 = xstrdup(argv[optidx + 1]);-
1781-
1782 undo_glob_escape(*path1);-
1783 undo_glob_escape(*path2);-
1784 break;
never executed: break;
0
1785 case
never executed: case I_RM:
I_RM:
never executed: case I_RM:
0
1786 case
never executed: case I_MKDIR:
I_MKDIR:
never executed: case I_MKDIR:
0
1787 case
never executed: case I_RMDIR:
I_RMDIR:
never executed: case I_RMDIR:
0
1788 case
never executed: case I_LMKDIR:
I_LMKDIR:
never executed: case I_LMKDIR:
0
1789 path1_mandatory = 1;-
1790-
1791 case
never executed: case I_CHDIR:
I_CHDIR:
never executed: case I_CHDIR:
code before this statement never executed: case I_CHDIR:
0
1792 case
never executed: case I_LCHDIR:
I_LCHDIR:
never executed: case I_LCHDIR:
0
1793 if ((
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_no_flags(cmd, argv, argc)) == -1
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1794 return
never executed: return -1;
-1;
never executed: return -1;
0
1795-
1796 if (argc - optidx < 1
argc - optidx < 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1797 if (!path1_mandatory
!path1_mandatoryDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1798 break;
never executed: break;
0
1799 error("You must specify a path after a %s command.",-
1800 cmd);-
1801 return
never executed: return -1;
-1;
never executed: return -1;
0
1802 }-
1803 *path1 = xstrdup(argv[optidx]);-
1804-
1805 if (cmdnum != I_RM
cmdnum != I_RMDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1806 undo_glob_escape(*path1);
never executed: undo_glob_escape(*path1);
0
1807 break;
never executed: break;
0
1808 case
never executed: case I_DF:
I_DF:
never executed: case I_DF:
0
1809 if ((
(optidx = pars... iflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_df_flags(cmd, argv, argc, hflag,
(optidx = pars... iflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1810 iflag)) == -1
(optidx = pars... iflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1811 return
never executed: return -1;
-1;
never executed: return -1;
0
1812-
1813 if (argc - optidx < 1
argc - optidx < 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1814 *
never executed: *path1 = ((void *)0) ;
path1 =
never executed: *path1 = ((void *)0) ;
0
1815 ((void *)0)
never executed: *path1 = ((void *)0) ;
0
1816 ;
never executed: *path1 = ((void *)0) ;
0
1817 else {-
1818 *path1 = xstrdup(argv[optidx]);-
1819 undo_glob_escape(*path1);-
1820 }
never executed: end of block
0
1821 break;
never executed: break;
0
1822 case
never executed: case I_LS:
I_LS:
never executed: case I_LS:
0
1823 if ((
(optidx = pars... lflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_ls_flags(argv, argc, lflag)) == -1
(optidx = pars... lflag)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1824 return
never executed: return(-1);
(-1);
never executed: return(-1);
0
1825-
1826 if (argc - optidx > 0
argc - optidx > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1827 *
never executed: *path1 = xstrdup(argv[optidx]);
path1 = xstrdup(argv[optidx]);
never executed: *path1 = xstrdup(argv[optidx]);
0
1828 break;
never executed: break;
0
1829 case
never executed: case I_LLS:
I_LLS:
never executed: case I_LLS:
0
1830-
1831 cp = cp + strlen(cmd) + -
1832 __builtin_strspn (-
1833 cp-
1834 , -
1835 " \t\r\n"-
1836 )-
1837 ;-
1838 case
never executed: case I_SHELL:
I_SHELL:
never executed: case I_SHELL:
code before this statement never executed: case I_SHELL:
0
1839-
1840 break;
never executed: break;
0
1841 case
never executed: case I_LUMASK:
I_LUMASK:
never executed: case I_LUMASK:
0
1842 case
never executed: case I_CHMOD:
I_CHMOD:
never executed: case I_CHMOD:
0
1843 base = 8;-
1844-
1845 case
never executed: case I_CHOWN:
I_CHOWN:
never executed: case I_CHOWN:
code before this statement never executed: case I_CHOWN:
0
1846 case
never executed: case I_CHGRP:
I_CHGRP:
never executed: case I_CHGRP:
0
1847 if ((
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_no_flags(cmd, argv, argc)) == -1
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1848 return
never executed: return -1;
-1;
never executed: return -1;
0
1849-
1850 if (argc - optidx < 1
argc - optidx < 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1851 goto
never executed: goto need_num_arg;
need_num_arg;
never executed: goto need_num_arg;
0
1852 -
1853 (*__errno_location ()) -
1854 = 0;-
1855 l = strtol(argv[optidx], &cp2, base);-
1856 if (cp2 == argv[optidx]
cp2 == argv[optidx]Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*cp2 != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
cp2 != '\0'
*cp2 != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1857 ((l ==
l == (-0x7ffff...fffffffL - 1L)Description
TRUEnever evaluated
FALSEnever evaluated
0
1858 (-0x7fffffffffffffffL - 1L)
l == (-0x7ffff...fffffffL - 1L)Description
TRUEnever evaluated
FALSEnever evaluated
0
1859 || l == 0x7fffffffffffffffL
l == 0x7fffffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
) &&
0
1860 (*
(*__errno_location ()) == 34Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 34Description
TRUEnever evaluated
FALSEnever evaluated
0
1861 ==
(*__errno_location ()) == 34Description
TRUEnever evaluated
FALSEnever evaluated
0
1862 34
(*__errno_location ()) == 34Description
TRUEnever evaluated
FALSEnever evaluated
0
1863 ) ||-
1864 l < 0
l < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1865 need_num_arg:-
1866 error("You must supply a numeric argument "-
1867 "to the %s command.", cmd);-
1868 return
never executed: return -1;
-1;
never executed: return -1;
0
1869 }-
1870 *n_arg = l;-
1871 if (cmdnum == I_LUMASK
cmdnum == I_LUMASKDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1872 break;
never executed: break;
0
1873-
1874 if (argc - optidx < 2
argc - optidx < 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1875 error("You must specify a path after a %s command.",-
1876 cmd);-
1877 return
never executed: return -1;
-1;
never executed: return -1;
0
1878 }-
1879 *path1 = xstrdup(argv[optidx + 1]);-
1880 break;
never executed: break;
0
1881 case
never executed: case I_QUIT:
I_QUIT:
never executed: case I_QUIT:
0
1882 case
never executed: case I_PWD:
I_PWD:
never executed: case I_PWD:
0
1883 case
never executed: case I_LPWD:
I_LPWD:
never executed: case I_LPWD:
0
1884 case
never executed: case I_HELP:
I_HELP:
never executed: case I_HELP:
0
1885 case
never executed: case I_VERSION:
I_VERSION:
never executed: case I_VERSION:
0
1886 case
never executed: case I_PROGRESS:
I_PROGRESS:
never executed: case I_PROGRESS:
0
1887 if ((
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
optidx = parse_no_flags(cmd, argv, argc)) == -1
(optidx = pars..., argc)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1888 return
never executed: return -1;
-1;
never executed: return -1;
0
1889 break;
never executed: break;
0
1890 default
never executed: default:
:
never executed: default:
0
1891 fatal("Command not implemented");-
1892 }
never executed: end of block
0
1893-
1894 *cpp = cp;-
1895 return
never executed: return(cmdnum);
(cmdnum);
never executed: return(cmdnum);
0
1896}-
1897-
1898static int-
1899parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd,-
1900 const char *startdir, int err_abort)-
1901{-
1902 char *path1, *path2, *tmp;-
1903 int ignore_errors = 0, aflag = 0, fflag = 0, hflag = 0,-
1904 iflag = 0;-
1905 int lflag = 0, pflag = 0, rflag = 0, sflag = 0;-
1906 int cmdnum, i;-
1907 unsigned long n_arg = 0;-
1908 Attrib a, *aa;-
1909 char path_buf[-
1910 4096-
1911 ];-
1912 int err = 0;-
1913 _ssh_compat_glob_t g;-
1914-
1915 path1 = path2 = -
1916 ((void *)0)-
1917 ;-
1918 cmdnum = parse_args(&cmd, &ignore_errors, &aflag, &fflag, &hflag,-
1919 &iflag, &lflag, &pflag, &rflag, &sflag, &n_arg, &path1, &path2);-
1920 if (ignore_errors != 0
ignore_errors != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1921 err_abort = 0;
never executed: err_abort = 0;
0
1922-
1923 memset(&g, 0, sizeof(g));-
1924-
1925-
1926 switch (cmdnum) {-
1927 case
never executed: case 0:
0:
never executed: case 0:
0
1928-
1929 break;
never executed: break;
0
1930 case
never executed: case -1:
-1:
never executed: case -1:
0
1931-
1932 err = -1;-
1933 break;
never executed: break;
0
1934 case
never executed: case I_REGET:
I_REGET:
never executed: case I_REGET:
0
1935 aflag = 1;-
1936-
1937 case
never executed: case I_GET:
I_GET:
never executed: case I_GET:
code before this statement never executed: case I_GET:
0
1938 err = process_get(conn, path1, path2, *pwd, pflag,-
1939 rflag, aflag, fflag);-
1940 break;
never executed: break;
0
1941 case
never executed: case I_REPUT:
I_REPUT:
never executed: case I_REPUT:
0
1942 aflag = 1;-
1943-
1944 case
never executed: case I_PUT:
I_PUT:
never executed: case I_PUT:
code before this statement never executed: case I_PUT:
0
1945 err = process_put(conn, path1, path2, *pwd, pflag,-
1946 rflag, aflag, fflag);-
1947 break;
never executed: break;
0
1948 case
never executed: case I_RENAME:
I_RENAME:
never executed: case I_RENAME:
0
1949 path1 = make_absolute(path1, *pwd);-
1950 path2 = make_absolute(path2, *pwd);-
1951 err = do_rename(conn, path1, path2, lflag);-
1952 break;
never executed: break;
0
1953 case
never executed: case I_SYMLINK:
I_SYMLINK:
never executed: case I_SYMLINK:
0
1954 sflag = 1;-
1955-
1956 case
never executed: case I_LINK:
I_LINK:
never executed: case I_LINK:
code before this statement never executed: case I_LINK:
0
1957 if (!sflag
!sflagDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1958 path1 = make_absolute(path1, *pwd);
never executed: path1 = make_absolute(path1, *pwd);
0
1959 path2 = make_absolute(path2, *pwd);-
1960 err = (sflag
sflagDescription
TRUEnever evaluated
FALSEnever evaluated
? do_symlink : do_hardlink)(conn, path1, path2);
0
1961 break;
never executed: break;
0
1962 case
never executed: case I_RM:
I_RM:
never executed: case I_RM:
0
1963 path1 = make_absolute(path1, *pwd);-
1964 remote_glob(conn, path1, 0x0010, -
1965 ((void *)0)-
1966 , &g);-
1967 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1968 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1969 mprintf("Removing %s\n", g.gl_pathv[i]);
never executed: mprintf("Removing %s\n", g.gl_pathv[i]);
0
1970 err = do_rm(conn, g.gl_pathv[i]);-
1971 if (err != 0
err != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1972 break;
never executed: break;
0
1973 }
never executed: end of block
0
1974 break;
never executed: break;
0
1975 case
never executed: case I_MKDIR:
I_MKDIR:
never executed: case I_MKDIR:
0
1976 path1 = make_absolute(path1, *pwd);-
1977 attrib_clear(&a);-
1978 a.flags |= 0x00000004;-
1979 a.perm = 0777;-
1980 err = do_mkdir(conn, path1, &a, 1);-
1981 break;
never executed: break;
0
1982 case
never executed: case I_RMDIR:
I_RMDIR:
never executed: case I_RMDIR:
0
1983 path1 = make_absolute(path1, *pwd);-
1984 err = do_rmdir(conn, path1);-
1985 break;
never executed: break;
0
1986 case
never executed: case I_CHDIR:
I_CHDIR:
never executed: case I_CHDIR:
0
1987 if (path1 ==
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1988 ((void *)0)
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1989 || *
*path1 == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
path1 == '\0'
*path1 == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1990 path1 = xstrdup(startdir);
never executed: path1 = xstrdup(startdir);
0
1991 path1 = make_absolute(path1, *pwd);-
1992 if ((
(tmp = do_real...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp = do_realpath(conn, path1)) ==
(tmp = do_real...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1993 ((void *)0)
(tmp = do_real...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1994 ) {-
1995 err = 1;-
1996 break;
never executed: break;
0
1997 }-
1998 if ((
(aa = do_stat(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
aa = do_stat(conn, tmp, 0)) ==
(aa = do_stat(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1999 ((void *)0)
(aa = do_stat(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2000 ) {-
2001 free(tmp);-
2002 err = 1;-
2003 break;
never executed: break;
0
2004 }-
2005 if (!(aa->flags & 0x00000004)
!(aa->flags & 0x00000004)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2006 error("Can't change directory: Can't check target");-
2007 free(tmp);-
2008 err = 1;-
2009 break;
never executed: break;
0
2010 }-
2011 if (!
! (((( aa->per... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
2012 ((((
! (((( aa->per... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
2013 aa->perm
! (((( aa->per... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
2014 )) & 0170000) == (0040000))
! (((( aa->per... == (0040000))Description
TRUEnever evaluated
FALSEnever evaluated
0
2015 ) {-
2016 error("Can't change directory: \"%s\" is not "-
2017 "a directory", tmp);-
2018 free(tmp);-
2019 err = 1;-
2020 break;
never executed: break;
0
2021 }-
2022 free(*pwd);-
2023 *pwd = tmp;-
2024 break;
never executed: break;
0
2025 case
never executed: case I_LS:
I_LS:
never executed: case I_LS:
0
2026 if (!path1
!path1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2027 do_ls_dir(conn, *pwd, *pwd, lflag);-
2028 break;
never executed: break;
0
2029 }-
2030-
2031-
2032 tmp = -
2033 ((void *)0)-
2034 ;-
2035 if (*
*path1 != '/'Description
TRUEnever evaluated
FALSEnever evaluated
path1 != '/'
*path1 != '/'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2036 tmp = *pwd;
never executed: tmp = *pwd;
0
2037-
2038 path1 = make_absolute(path1, *pwd);-
2039 err = do_globbed_ls(conn, path1, tmp, lflag);-
2040 break;
never executed: break;
0
2041 case
never executed: case I_DF:
I_DF:
never executed: case I_DF:
0
2042-
2043 if (path1 ==
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2044 ((void *)0)
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2045 )-
2046 path1 = xstrdup(*pwd);
never executed: path1 = xstrdup(*pwd);
0
2047 path1 = make_absolute(path1, *pwd);-
2048 err = do_df(conn, path1, hflag, iflag);-
2049 break;
never executed: break;
0
2050 case
never executed: case I_LCHDIR:
I_LCHDIR:
never executed: case I_LCHDIR:
0
2051 if (path1 ==
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2052 ((void *)0)
path1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2053 || *
*path1 == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
path1 == '\0'
*path1 == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2054 path1 = xstrdup("~");
never executed: path1 = xstrdup("~");
0
2055 tmp = tilde_expand_filename(path1, getuid());-
2056 free(path1);-
2057 path1 = tmp;-
2058 if (chdir(path1) == -1
chdir(path1) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2059 error("Couldn't change local directory to "-
2060 "\"%s\": %s", path1, strerror(-
2061 (*__errno_location ())-
2062 ));-
2063 err = 1;-
2064 }
never executed: end of block
0
2065 break;
never executed: break;
0
2066 case
never executed: case I_LMKDIR:
I_LMKDIR:
never executed: case I_LMKDIR:
0
2067 if (mkdir(path1, 0777) == -1
mkdir(path1, 0777) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2068 error("Couldn't create local directory "-
2069 "\"%s\": %s", path1, strerror(-
2070 (*__errno_location ())-
2071 ));-
2072 err = 1;-
2073 }
never executed: end of block
0
2074 break;
never executed: break;
0
2075 case
never executed: case I_LLS:
I_LLS:
never executed: case I_LLS:
0
2076 local_do_ls(cmd);-
2077 break;
never executed: break;
0
2078 case
never executed: case I_SHELL:
I_SHELL:
never executed: case I_SHELL:
0
2079 local_do_shell(cmd);-
2080 break;
never executed: break;
0
2081 case
never executed: case I_LUMASK:
I_LUMASK:
never executed: case I_LUMASK:
0
2082 umask(n_arg);-
2083 printf("Local umask: %03lo\n", n_arg);-
2084 break;
never executed: break;
0
2085 case
never executed: case I_CHMOD:
I_CHMOD:
never executed: case I_CHMOD:
0
2086 path1 = make_absolute(path1, *pwd);-
2087 attrib_clear(&a);-
2088 a.flags |= 0x00000004;-
2089 a.perm = n_arg;-
2090 remote_glob(conn, path1, 0x0010, -
2091 ((void *)0)-
2092 , &g);-
2093 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2094 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2095 mprintf("Changing mode on %s\n",
never executed: mprintf("Changing mode on %s\n", g.gl_pathv[i]);
0
2096 g.gl_pathv[i]);
never executed: mprintf("Changing mode on %s\n", g.gl_pathv[i]);
0
2097 err = do_setstat(conn, g.gl_pathv[i], &a);-
2098 if (err != 0
err != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2099 break;
never executed: break;
0
2100 }
never executed: end of block
0
2101 break;
never executed: break;
0
2102 case
never executed: case I_CHOWN:
I_CHOWN:
never executed: case I_CHOWN:
0
2103 case
never executed: case I_CHGRP:
I_CHGRP:
never executed: case I_CHGRP:
0
2104 path1 = make_absolute(path1, *pwd);-
2105 remote_glob(conn, path1, 0x0010, -
2106 ((void *)0)-
2107 , &g);-
2108 for (i = 0; g.gl_pathv[i]
g.gl_pathv[i]Description
TRUEnever evaluated
FALSEnever evaluated
&& !interrupted
!interruptedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2109 if (!(aa = do_stat(conn, g.gl_pathv[i], 0))
!(aa = do_stat..._pathv[i], 0))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2110 if (err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2111 err = -1;-
2112 break;
never executed: break;
0
2113 } else-
2114 continue;
never executed: continue;
0
2115 }-
2116 if (!(aa->flags & 0x00000002)
!(aa->flags & 0x00000002)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2117 error("Can't get current ownership of "-
2118 "remote file \"%s\"", g.gl_pathv[i]);-
2119 if (err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2120 err = -1;-
2121 break;
never executed: break;
0
2122 } else-
2123 continue;
never executed: continue;
0
2124 }-
2125 aa->flags &= 0x00000002;-
2126 if (cmdnum == I_CHOWN
cmdnum == I_CHOWNDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2127 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2128 mprintf("Changing owner on %s\n",
never executed: mprintf("Changing owner on %s\n", g.gl_pathv[i]);
0
2129 g.gl_pathv[i]);
never executed: mprintf("Changing owner on %s\n", g.gl_pathv[i]);
0
2130 aa->uid = n_arg;-
2131 }
never executed: end of block
else {
0
2132 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2133 mprintf("Changing group on %s\n",
never executed: mprintf("Changing group on %s\n", g.gl_pathv[i]);
0
2134 g.gl_pathv[i]);
never executed: mprintf("Changing group on %s\n", g.gl_pathv[i]);
0
2135 aa->gid = n_arg;-
2136 }
never executed: end of block
0
2137 err = do_setstat(conn, g.gl_pathv[i], aa);-
2138 if (err != 0
err != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2139 break;
never executed: break;
0
2140 }
never executed: end of block
0
2141 break;
never executed: break;
0
2142 case
never executed: case I_PWD:
I_PWD:
never executed: case I_PWD:
0
2143 mprintf("Remote working directory: %s\n", *pwd);-
2144 break;
never executed: break;
0
2145 case
never executed: case I_LPWD:
I_LPWD:
never executed: case I_LPWD:
0
2146 if (!getcwd(path_buf, sizeof(path_buf))
!getcwd(path_b...eof(path_buf))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2147 error("Couldn't get local cwd: %s", strerror(-
2148 (*__errno_location ())-
2149 ));-
2150 err = -1;-
2151 break;
never executed: break;
0
2152 }-
2153 mprintf("Local working directory: %s\n", path_buf);-
2154 break;
never executed: break;
0
2155 case
never executed: case I_QUIT:
I_QUIT:
never executed: case I_QUIT:
0
2156-
2157 break;
never executed: break;
0
2158 case
never executed: case I_HELP:
I_HELP:
never executed: case I_HELP:
0
2159 help();-
2160 break;
never executed: break;
0
2161 case
never executed: case I_VERSION:
I_VERSION:
never executed: case I_VERSION:
0
2162 printf("SFTP protocol version %u\n", sftp_proto_version(conn));-
2163 break;
never executed: break;
0
2164 case
never executed: case I_PROGRESS:
I_PROGRESS:
never executed: case I_PROGRESS:
0
2165 showprogress = !showprogress;-
2166 if (showprogress
showprogressDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2167 printf("Progress meter enabled\n");
never executed: printf("Progress meter enabled\n");
0
2168 else-
2169 printf("Progress meter disabled\n");
never executed: printf("Progress meter disabled\n");
0
2170 break;
never executed: break;
0
2171 default
never executed: default:
:
never executed: default:
0
2172 fatal("%d is not implemented", cmdnum);-
2173 }
never executed: end of block
0
2174-
2175 if (g.gl_pathc
g.gl_pathcDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2176 _ssh__compat_globfree(&g);
never executed: _ssh__compat_globfree(&g);
0
2177 free(path1);-
2178 free(path2);-
2179-
2180-
2181 if (err_abort
err_abortDescription
TRUEnever evaluated
FALSEnever evaluated
&& err != 0
err != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2182 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2183 else if (cmdnum == I_QUIT
cmdnum == I_QUITDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2184 return
never executed: return (1);
(1);
never executed: return (1);
0
2185-
2186 return
never executed: return (0);
(0);
never executed: return (0);
0
2187}-
2188static int-
2189interactive_loop(struct sftp_conn *conn, char *file1, char *file2)-
2190{-
2191 char *remote_path;-
2192 char *dir = -
2193 ((void *)0)-
2194 , *startdir = -
2195 ((void *)0)-
2196 ;-
2197 char cmd[2048];-
2198 int err, interactive;-
2199 EditLine *el = -
2200 ((void *)0)-
2201 ;-
2202 remote_path = do_realpath(conn, ".");-
2203 if (remote_path ==
remote_path == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2204 ((void *)0)
remote_path == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2205 )-
2206 fatal("Need cwd");
never executed: fatal("Need cwd");
0
2207 startdir = xstrdup(remote_path);-
2208-
2209 if (file1 !=
file1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2210 ((void *)0)
file1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2211 ) {-
2212 dir = xstrdup(file1);-
2213 dir = make_absolute(dir, remote_path);-
2214-
2215 if (remote_is_dir(conn, dir)
remote_is_dir(conn, dir)Description
TRUEnever evaluated
FALSEnever evaluated
&& file2 ==
file2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2216 ((void *)0)
file2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2217 ) {-
2218 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2219 mprintf("Changing to: %s\n", dir);
never executed: mprintf("Changing to: %s\n", dir);
0
2220 snprintf(cmd, sizeof cmd, "cd \"%s\"", dir);-
2221 if (parse_dispatch_command(conn, cmd,
parse_dispatch...rtdir, 1) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2222 &remote_path, startdir, 1) != 0
parse_dispatch...rtdir, 1) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2223 free(dir);-
2224 free(startdir);-
2225 free(remote_path);-
2226 free(conn);-
2227 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2228 }-
2229 }
never executed: end of block
else {
0
2230-
2231 snprintf(cmd, sizeof cmd, "get%s %s%s%s",-
2232 global_aflag ? " -a" : "", dir,-
2233 file2 == -
2234 ((void *)0) -
2235 ? "" : " ",-
2236 file2 == -
2237 ((void *)0) -
2238 ? "" : file2);-
2239 err = parse_dispatch_command(conn, cmd,-
2240 &remote_path, startdir, 1);-
2241 free(dir);-
2242 free(startdir);-
2243 free(remote_path);-
2244 free(conn);-
2245 return
never executed: return (err);
(err);
never executed: return (err);
0
2246 }-
2247 free(dir);-
2248 }
never executed: end of block
0
2249-
2250 setvbuf(-
2251 stdout-
2252 , -
2253 ((void *)0)-
2254 , -
2255 1-
2256 , 0);-
2257 setvbuf(infile, -
2258 ((void *)0)-
2259 , -
2260 1-
2261 , 0);-
2262-
2263 interactive = !batchmode
!batchmodeDescription
TRUEnever evaluated
FALSEnever evaluated
&& isatty(
isatty( 0 )Description
TRUEnever evaluated
FALSEnever evaluated
0
2264 0
isatty( 0 )Description
TRUEnever evaluated
FALSEnever evaluated
0
2265 )
isatty( 0 )Description
TRUEnever evaluated
FALSEnever evaluated
;
0
2266 err = 0;-
2267 for (;;) {-
2268 char *cp;-
2269-
2270 mysignal(-
2271 2-
2272 ,-
2273 ((__sighandler_t) 1)-
2274 );-
2275-
2276 if (el ==
el == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2277 ((void *)0)
el == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2278 ) {-
2279 if (interactive
interactiveDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2280 printf("sftp> ");
never executed: printf("sftp> ");
0
2281 if (fgets(cmd, sizeof(cmd), infile) ==
fgets(cmd, siz...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2282 ((void *)0)
fgets(cmd, siz...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2283 ) {-
2284 if (interactive
interactiveDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2285 printf("\n");
never executed: printf("\n");
0
2286 break;
never executed: break;
0
2287 }-
2288 if (!interactive
!interactiveDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2289 mprintf("sftp> %s", cmd);-
2290 if (strlen(cmd) > 0
strlen(cmd) > 0Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
2291 cmd[strlen(cmd) - 1] != '\n'
cmd[strlen(cmd) - 1] != '\n'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2292 printf("\n");
never executed: printf("\n");
0
2293 }
never executed: end of block
0
2294 }
never executed: end of block
else {
0
2295 }
never executed: end of block
0
2296-
2297 cp = strrchr(cmd, '\n');-
2298 if (cp
cpDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2299 *
never executed: *cp = '\0';
cp = '\0';
never executed: *cp = '\0';
0
2300-
2301-
2302 interrupted = 0;-
2303 mysignal(-
2304 2-
2305 ,cmd_interrupt);-
2306-
2307 err = parse_dispatch_command(conn, cmd, &remote_path,-
2308 startdir, batchmode);-
2309 if (err != 0
err != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2310 break;
never executed: break;
0
2311 }
never executed: end of block
0
2312 mysignal(-
231317-
2314,-
2315((__sighandler_t) 0)-
2316);-
2317 free(remote_path);-
2318 free(startdir);-
2319 free(conn);-
2320-
2321-
2322-
2323-
2324-
2325-
2326-
2327 return
never executed: return (err >= 0 ? 0 : -1);
(err >= 0
err >= 0Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : -1);
never executed: return (err >= 0 ? 0 : -1);
0
2328}-
2329-
2330static void-
2331connect_to_server(char *path, char **args, int *in, int *out)-
2332{-
2333 int c_in, c_out;-
2334 int inout[2];-
2335-
2336 if (socketpair(
socketpair( 1 ..., inout) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2337 1
socketpair( 1 ..., inout) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2338 ,
socketpair( 1 ..., inout) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2339 SOCK_STREAM
socketpair( 1 ..., inout) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2340 , 0, inout) == -1
socketpair( 1 ..., inout) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2341 fatal("socketpair: %s", strerror(
never executed: fatal("socketpair: %s", strerror( (*__errno_location ()) ));
0
2342 (*__errno_location ())
never executed: fatal("socketpair: %s", strerror( (*__errno_location ()) ));
0
2343 ));
never executed: fatal("socketpair: %s", strerror( (*__errno_location ()) ));
0
2344 *in = *out = inout[0];-
2345 c_in = c_out = inout[1];-
2346-
2347-
2348 if ((
(sshpid = fork()) == -1Description
TRUEnever evaluated
FALSEnever evaluated
sshpid = fork()) == -1
(sshpid = fork()) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2349 fatal("fork: %s", strerror(
never executed: fatal("fork: %s", strerror( (*__errno_location ()) ));
0
2350 (*__errno_location ())
never executed: fatal("fork: %s", strerror( (*__errno_location ()) ));
0
2351 ));
never executed: fatal("fork: %s", strerror( (*__errno_location ()) ));
0
2352 else if (sshpid == 0
sshpid == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2353 if ((
(dup2(c_in, 0 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
dup2(c_in,
(dup2(c_in, 0 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
0
2354 0
(dup2(c_in, 0 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
0
2355 ) == -1)
(dup2(c_in, 0 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2356 (
(dup2(c_out, 1 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
dup2(c_out,
(dup2(c_out, 1 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
0
2357 1
(dup2(c_out, 1 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
0
2358 ) == -1)
(dup2(c_out, 1 ) == -1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2359 fprintf(-
2360 stderr-
2361 , "dup2: %s\n", strerror(-
2362 (*__errno_location ())-
2363 ));-
2364 _exit(1);-
2365 }
never executed: end of block
0
2366 close(*in);-
2367 close(*out);-
2368 close(c_in);-
2369 close(c_out);-
2370 mysignal(-
2371 2-
2372 ,-
2373 ((__sighandler_t) 1)-
2374 );-
2375 mysignal(-
2376 15-
2377 ,-
2378 ((__sighandler_t) 0)-
2379 );-
2380 execvp(path, args);-
2381 fprintf(-
2382 stderr-
2383 , "exec: %s: %s\n", path, strerror(-
2384 (*__errno_location ())-
2385 ));-
2386 _exit(1);-
2387 }
never executed: end of block
0
2388-
2389 mysignal(-
239015-
2391,killchild);-
2392 mysignal(-
23932-
2394,killchild);-
2395 mysignal(-
23961-
2397,killchild);-
2398 mysignal(-
239920-
2400,suspchild);-
2401 mysignal(-
240221-
2403,suspchild);-
2404 mysignal(-
240522-
2406,suspchild);-
2407 mysignal(-
240817-
2409,sigchld_handler);-
2410 close(c_in);-
2411 close(c_out);-
2412}
never executed: end of block
0
2413-
2414static void-
2415usage(void)-
2416{-
2417 extern char *__progname;-
2418-
2419 fprintf(-
2420 stderr-
2421 ,-
2422 "usage: %s [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]\n"-
2423 " [-D sftp_server_path] [-F ssh_config] "-
2424 "[-i identity_file] [-l limit]\n"-
2425 " [-o ssh_option] [-P port] [-R num_requests] "-
2426 "[-S program]\n"-
2427 " [-s subsystem | sftp_server] destination\n",-
2428 __progname);-
2429 exit(1);
never executed: exit(1);
0
2430}-
2431-
2432int-
2433main(int argc, char **argv)-
2434{-
2435 int in, out, ch, err, tmp, port = -1;-
2436 char *host = -
2437 ((void *)0)-
2438 , *user, *cp, *file2 = -
2439 ((void *)0)-
2440 ;-
2441 int debug_level = 0, sshver = 2;-
2442 char *file1 = -
2443 ((void *)0)-
2444 , *sftp_server = -
2445 ((void *)0)-
2446 ;-
2447 char *ssh_program = "/var/tmp/openssh-test/bin/ssh", *sftp_direct = -
2448 ((void *)0)-
2449 ;-
2450 const char *errstr;-
2451 LogLevel ll = SYSLOG_LEVEL_INFO;-
2452 arglist args;-
2453 extern int BSDoptind;-
2454 extern char *BSDoptarg;-
2455 struct sftp_conn *conn;-
2456 size_t copy_buffer_len = 32768;-
2457 size_t num_requests = 64;-
2458 long long limit_kbps = 0;-
2459-
2460 ssh_malloc_init();-
2461-
2462 sanitise_stdfd();-
2463 msetlocale();-
2464-
2465 __progname = ssh_get_progname(argv[0]);-
2466 memset(&args, '\0', sizeof(args));-
2467 args.list = -
2468 ((void *)0)-
2469 ;-
2470 addargs(&args, "%s", ssh_program);-
2471 addargs(&args, "-oForwardX11 no");-
2472 addargs(&args, "-oForwardAgent no");-
2473 addargs(&args, "-oPermitLocalCommand no");-
2474 addargs(&args, "-oClearAllForwardings yes");-
2475-
2476 ll = SYSLOG_LEVEL_INFO;-
2477 infile = -
2478 stdin-
2479 ;-
2480-
2481 while ((
(ch = BSDgetop...P:R:") ) != -1Description
TRUEnever evaluated
FALSEnever evaluated
ch = BSDgetopt(argc, argv, "1246afhpqrvCc:D:i:l:o:s:S:b:B:F:P:R:")
(ch = BSDgetop...P:R:") ) != -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2482 ) != -1
(ch = BSDgetop...P:R:") ) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2483 switch (ch) {-
2484-
2485 case
never executed: case '4':
'4':
never executed: case '4':
0
2486 case
never executed: case '6':
'6':
never executed: case '6':
0
2487 case
never executed: case 'C':
'C':
never executed: case 'C':
0
2488 addargs(&args, "-%c", ch);-
2489 break;
never executed: break;
0
2490-
2491 case
never executed: case 'F':
'F':
never executed: case 'F':
0
2492 case
never executed: case 'c':
'c':
never executed: case 'c':
0
2493 case
never executed: case 'i':
'i':
never executed: case 'i':
0
2494 case
never executed: case 'o':
'o':
never executed: case 'o':
0
2495 addargs(&args, "-%c", ch);-
2496 addargs(&args, "%s", BSDoptarg);-
2497 break;
never executed: break;
0
2498 case
never executed: case 'q':
'q':
never executed: case 'q':
0
2499 ll = SYSLOG_LEVEL_ERROR;-
2500 quiet = 1;-
2501 showprogress = 0;-
2502 addargs(&args, "-%c", ch);-
2503 break;
never executed: break;
0
2504 case
never executed: case 'P':
'P':
never executed: case 'P':
0
2505 port = a2port(BSDoptarg);-
2506 if (port <= 0
port <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2507 fatal("Bad port \"%s\"\n", BSDoptarg);
never executed: fatal("Bad port \"%s\"\n", BSDoptarg);
0
2508 break;
never executed: break;
0
2509 case
never executed: case 'v':
'v':
never executed: case 'v':
0
2510 if (debug_level < 3
debug_level < 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2511 addargs(&args, "-v");-
2512 ll = SYSLOG_LEVEL_DEBUG1 + debug_level;-
2513 }
never executed: end of block
0
2514 debug_level++;-
2515 break;
never executed: break;
0
2516 case
never executed: case '1':
'1':
never executed: case '1':
0
2517 sshver = 1;-
2518 if (sftp_server ==
sftp_server == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2519 ((void *)0)
sftp_server == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2520 )-
2521 sftp_server = "/var/tmp/openssh-test/libexec/sftp-server";
never executed: sftp_server = "/var/tmp/openssh-test/libexec/sftp-server";
0
2522 break;
never executed: break;
0
2523 case
never executed: case '2':
'2':
never executed: case '2':
0
2524 sshver = 2;-
2525 break;
never executed: break;
0
2526 case
never executed: case 'a':
'a':
never executed: case 'a':
0
2527 global_aflag = 1;-
2528 break;
never executed: break;
0
2529 case
never executed: case 'B':
'B':
never executed: case 'B':
0
2530 copy_buffer_len = strtol(BSDoptarg, &cp, 10);-
2531 if (copy_buffer_len == 0
copy_buffer_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
cp != '\0'
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2532 fatal("Invalid buffer size \"%s\"", BSDoptarg);
never executed: fatal("Invalid buffer size \"%s\"", BSDoptarg);
0
2533 break;
never executed: break;
0
2534 case
never executed: case 'b':
'b':
never executed: case 'b':
0
2535 if (batchmode
batchmodeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2536 fatal("Batch file already specified.");
never executed: fatal("Batch file already specified.");
0
2537-
2538-
2539 if (-
2540 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2541 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2542 ) && __builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2543 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2544 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2545 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2546 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2547 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2548 ), (!((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2549 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2550 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2551 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2552 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2553 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2554 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2555 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2556 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2557 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2558 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2559 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2560 ) : (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2561 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2562 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2563 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2564 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2565 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2566 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2567 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2568 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2569 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2570 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2571 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2572 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2573 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2574 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2575 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2576 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2577 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2578 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2579 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2580 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2581 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2582 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2583 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2584 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2585 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2586 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( BSDoptarg ))[3] - __s2[3]);
0
2587 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( BSDoptarg ))[3] - __s2[3]);
0
2588 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2589 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2590 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2591 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2592 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2593 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2594 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2595 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2596 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2597 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2598 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2599 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2600 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2601 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2602 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2603 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2604 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2605 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2606 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2607 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2608 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2609 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2610 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2611 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2612 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2613 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2614 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]);
0
2615 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]);
0
2616 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2617 BSDoptarg
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2618 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2619 "-"
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2620 )))); })
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2621 != 0
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
2622 (
(infile = fope...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
infile = fopen(BSDoptarg, "r")) ==
(infile = fope...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2623 ((void *)0)
(infile = fope...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2624 )-
2625 fatal("%s (%s).", strerror(
never executed: fatal("%s (%s).", strerror( (*__errno_location ()) ), BSDoptarg);
0
2626 (*__errno_location ())
never executed: fatal("%s (%s).", strerror( (*__errno_location ()) ), BSDoptarg);
0
2627 ), BSDoptarg);
never executed: fatal("%s (%s).", strerror( (*__errno_location ()) ), BSDoptarg);
0
2628 showprogress = 0;-
2629 quiet = batchmode = 1;-
2630 addargs(&args, "-obatchmode yes");-
2631 break;
never executed: break;
0
2632 case
never executed: case 'f':
'f':
never executed: case 'f':
0
2633 global_fflag = 1;-
2634 break;
never executed: break;
0
2635 case
never executed: case 'p':
'p':
never executed: case 'p':
0
2636 global_pflag = 1;-
2637 break;
never executed: break;
0
2638 case
never executed: case 'D':
'D':
never executed: case 'D':
0
2639 sftp_direct = BSDoptarg;-
2640 break;
never executed: break;
0
2641 case
never executed: case 'l':
'l':
never executed: case 'l':
0
2642 limit_kbps = strtonum(BSDoptarg, 1, 100 * 1024 * 1024,-
2643 &errstr);-
2644 if (errstr !=
errstr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2645 ((void *)0)
errstr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2646 )-
2647 usage();
never executed: usage();
0
2648 limit_kbps *= 1024;-
2649 break;
never executed: break;
0
2650 case
never executed: case 'r':
'r':
never executed: case 'r':
0
2651 global_rflag = 1;-
2652 break;
never executed: break;
0
2653 case
never executed: case 'R':
'R':
never executed: case 'R':
0
2654 num_requests = strtol(BSDoptarg, &cp, 10);-
2655 if (num_requests == 0
num_requests == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
cp != '\0'
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2656 fatal("Invalid number of requests \"%s\"",
never executed: fatal("Invalid number of requests \"%s\"", BSDoptarg);
0
2657 BSDoptarg);
never executed: fatal("Invalid number of requests \"%s\"", BSDoptarg);
0
2658 break;
never executed: break;
0
2659 case
never executed: case 's':
's':
never executed: case 's':
0
2660 sftp_server = BSDoptarg;-
2661 break;
never executed: break;
0
2662 case
never executed: case 'S':
'S':
never executed: case 'S':
0
2663 ssh_program = BSDoptarg;-
2664 replacearg(&args, 0, "%s", ssh_program);-
2665 break;
never executed: break;
0
2666 case
never executed: case 'h':
'h':
never executed: case 'h':
0
2667 default
never executed: default:
:
never executed: default:
0
2668 usage();-
2669 }
never executed: end of block
0
2670 }-
2671-
2672 if (!isatty(
!isatty( 2 )Description
TRUEnever evaluated
FALSEnever evaluated
0
2673 2
!isatty( 2 )Description
TRUEnever evaluated
FALSEnever evaluated
0
2674 )
!isatty( 2 )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2675 showprogress = 0;
never executed: showprogress = 0;
0
2676-
2677 log_init(argv[0], ll, SYSLOG_FACILITY_USER, 1);-
2678-
2679 if (sftp_direct ==
sftp_direct == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2680 ((void *)0)
sftp_direct == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2681 ) {-
2682 if (BSDoptind == argc
BSDoptind == argcDescription
TRUEnever evaluated
FALSEnever evaluated
|| argc > (BSDoptind + 2)
argc > (BSDoptind + 2)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2683 usage();
never executed: usage();
0
2684 argv += BSDoptind;-
2685-
2686 switch (parse_uri("sftp", *argv, &user, &host, &tmp, &file1)) {-
2687 case
never executed: case -1:
-1:
never executed: case -1:
0
2688 usage();-
2689 break;
never executed: break;
0
2690 case
never executed: case 0:
0:
never executed: case 0:
0
2691 if (tmp != -1
tmp != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2692 port = tmp;
never executed: port = tmp;
0
2693 break;
never executed: break;
0
2694 default
never executed: default:
:
never executed: default:
0
2695 if (parse_user_host_path(*argv, &user, &host,
parse_user_hos... &file1) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2696 &file1) == -1
parse_user_hos... &file1) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2697-
2698 host = xstrdup(*argv);-
2699 host = cleanhostname(host);-
2700 }
never executed: end of block
0
2701 break;
never executed: break;
0
2702 }-
2703 file2 = *(argv + 1);-
2704-
2705 if (!*host
!*hostDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2706 fprintf(-
2707 stderr-
2708 , "Missing hostname\n");-
2709 usage();-
2710 }
never executed: end of block
0
2711-
2712 if (port != -1
port != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2713 addargs(&args, "-oPort %d", port);
never executed: addargs(&args, "-oPort %d", port);
0
2714 if (user !=
user != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2715 ((void *)0)
user != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2716 ) {-
2717 addargs(&args, "-l");-
2718 addargs(&args, "%s", user);-
2719 }
never executed: end of block
0
2720 addargs(&args, "-oProtocol %d", sshver);-
2721-
2722-
2723 if (sftp_server ==
sftp_server == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2724 ((void *)0)
sftp_server == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2725 || -
2726 (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2727 '/'
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2728 )
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_con... sftp_server )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2729 sftp_server
!__builtin_con... sftp_server )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2730 )
!__builtin_con... sftp_server )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2731 '/'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2732 ) == '\0'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2733 sftp_server
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2734 ,
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2735 '/'
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2736 ) : __builtin_strchr (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2737 sftp_server
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2738 ,
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2739 '/'
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2740 )))
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2741 ==
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2742 ((void *)0)
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2743 )-
2744 addargs(&args, "-s");
never executed: addargs(&args, "-s");
0
2745-
2746 addargs(&args, "--");-
2747 addargs(&args, "%s", host);-
2748 addargs(&args, "%s", (sftp_server != -
2749 ((void *)0) -
2750 ?-
2751 sftp_server : "sftp"));-
2752-
2753 connect_to_server(ssh_program, args.list, &in, &out);-
2754 }
never executed: end of block
else {
0
2755 args.list = -
2756 ((void *)0)-
2757 ;-
2758 addargs(&args, "sftp-server");-
2759-
2760 connect_to_server(sftp_direct, args.list, &in, &out);-
2761 }
never executed: end of block
0
2762 freeargs(&args);-
2763-
2764 conn = do_init(in, out, copy_buffer_len, num_requests, limit_kbps);-
2765 if (conn ==
conn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2766 ((void *)0)
conn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2767 )-
2768 fatal("Couldn't initialise connection to server");
never executed: fatal("Couldn't initialise connection to server");
0
2769-
2770 if (!quiet
!quietDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2771 if (sftp_direct ==
sftp_direct == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2772 ((void *)0)
sftp_direct == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2773 )-
2774 fprintf(
never executed: fprintf( stderr , "Connected to %s.\n", host);
0
2775 stderr
never executed: fprintf( stderr , "Connected to %s.\n", host);
0
2776 , "Connected to %s.\n", host);
never executed: fprintf( stderr , "Connected to %s.\n", host);
0
2777 else-
2778 fprintf(
never executed: fprintf( stderr , "Attached to %s.\n", sftp_direct);
0
2779 stderr
never executed: fprintf( stderr , "Attached to %s.\n", sftp_direct);
0
2780 , "Attached to %s.\n", sftp_direct);
never executed: fprintf( stderr , "Attached to %s.\n", sftp_direct);
0
2781 }-
2782-
2783 err = interactive_loop(conn, file1, file2);-
2784-
2785-
2786 shutdown(in, -
2787 SHUT_RDWR-
2788 );-
2789 shutdown(out, -
2790 SHUT_RDWR-
2791 );-
2792-
2793-
2794 close(in);-
2795 close(out);-
2796 if (batchmode
batchmodeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2797 fclose(infile);
never executed: fclose(infile);
0
2798-
2799 while (waitpid(sshpid,
waitpid(sshpid...)0) , 0) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2800 ((void *)0)
waitpid(sshpid...)0) , 0) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
2801 , 0) == -1
waitpid(sshpid...)0) , 0) == -1Description
TRUEnever evaluated
FALSEnever evaluated
&& sshpid > 1
sshpid > 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2802 if (-
2803 (*
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
2804 !=
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
2805 4
(*__errno_location ()) != 4Description
TRUEnever evaluated
FALSEnever evaluated
0
2806 )-
2807 fatal("Couldn't wait for ssh process: %s",
never executed: fatal("Couldn't wait for ssh process: %s", strerror( (*__errno_location ()) ));
0
2808 strerror(
never executed: fatal("Couldn't wait for ssh process: %s", strerror( (*__errno_location ()) ));
0
2809 (*__errno_location ())
never executed: fatal("Couldn't wait for ssh process: %s", strerror( (*__errno_location ()) ));
0
2810 ));
never executed: fatal("Couldn't wait for ssh process: %s", strerror( (*__errno_location ()) ));
0
2811-
2812 exit(err == 0 ? 0 : 1);
never executed: exit(err == 0 ? 0 : 1);
0
2813}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2