Lines 303-309
fts_close(FTS *sp)
Link Here
|
303 |
FTSENT * |
303 |
FTSENT * |
304 |
fts_read(FTS *sp) |
304 |
fts_read(FTS *sp) |
305 |
{ |
305 |
{ |
306 |
FTSENT *p, *tmp; |
306 |
FTSENT *p, *tmp = NULL; |
307 |
int instr; |
307 |
int instr; |
308 |
char *t; |
308 |
char *t; |
309 |
int saved_errno; |
309 |
int saved_errno; |
Lines 415-430
next: tmp = p;
Link Here
|
415 |
return (sp->fts_cur = p); |
415 |
return (sp->fts_cur = p); |
416 |
} |
416 |
} |
417 |
|
417 |
|
|
|
418 |
free(tmp); |
419 |
|
418 |
/* |
420 |
/* |
419 |
* User may have called fts_set on the node. If skipped, |
421 |
* User may have called fts_set on the node. If skipped, |
420 |
* ignore. If followed, get a file descriptor so we can |
422 |
* ignore. If followed, get a file descriptor so we can |
421 |
* get back if necessary. |
423 |
* get back if necessary. |
422 |
*/ |
424 |
*/ |
423 |
if (p->fts_instr == FTS_SKIP) { |
425 |
if (p->fts_instr == FTS_SKIP) { |
424 |
free(tmp); |
|
|
425 |
goto next; |
426 |
goto next; |
426 |
} |
427 |
} |
427 |
if (p->fts_instr == FTS_FOLLOW) { |
428 |
|
|
|
429 |
name: t = sp->fts_path + NAPPEND(p->fts_parent); |
430 |
*t++ = '/'; |
431 |
memmove(t, p->fts_name, p->fts_namelen + 1); |
432 |
|
433 |
/* |
434 |
* The tmp check ensures that we don't enter here from the |
435 |
* 'goto name;' above. |
436 |
*/ |
437 |
if (tmp && p->fts_instr == FTS_FOLLOW) { |
428 |
p->fts_info = fts_stat(sp, p, 1, -1); |
438 |
p->fts_info = fts_stat(sp, p, 1, -1); |
429 |
if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { |
439 |
if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { |
430 |
if ((p->fts_symfd = |
440 |
if ((p->fts_symfd = |
Lines 437-447
next: tmp = p;
Link Here
|
437 |
p->fts_instr = FTS_NOINSTR; |
447 |
p->fts_instr = FTS_NOINSTR; |
438 |
} |
448 |
} |
439 |
|
449 |
|
440 |
free(tmp); |
|
|
441 |
|
442 |
name: t = sp->fts_path + NAPPEND(p->fts_parent); |
443 |
*t++ = '/'; |
444 |
memmove(t, p->fts_name, p->fts_namelen + 1); |
445 |
return (sp->fts_cur = p); |
450 |
return (sp->fts_cur = p); |
446 |
} |
451 |
} |
447 |
|
452 |
|