version 1.18, 2000/06/07 15:25:30 |
version 1.19, 2000/07/08 16:09:34 |
|
|
*argvp = argv + 1; |
*argvp = argv + 1; |
return (new); |
return (new); |
} |
} |
|
|
|
/* |
|
* -flags functions -- |
|
* |
|
* The flags argument is used to represent file flags bits. |
|
*/ |
|
int |
|
f_flags(plan, entry) |
|
PLAN *plan; |
|
FTSENT *entry; |
|
{ |
|
u_int flags; |
|
|
|
flags = entry->fts_statp->st_flags & |
|
(UF_NODUMP | UF_IMMUTABLE | UF_APPEND | UF_OPAQUE | |
|
SF_ARCHIVED | SF_IMMUTABLE | SF_APPEND); |
|
if (plan->flags == F_ATLEAST) |
|
/* note that plan->fl_flags always is a subset of |
|
plan->fl_mask */ |
|
return ((flags & plan->fl_mask) == plan->fl_flags); |
|
else |
|
return (flags == plan->fl_flags); |
|
/* NOTREACHED */ |
|
} |
|
|
|
PLAN * |
|
c_flags(flags_str) |
|
char *flags_str; |
|
{ |
|
PLAN *new; |
|
u_int flags, notflags; |
|
|
|
ftsoptions &= ~FTS_NOSTAT; |
|
|
|
new = palloc(N_FLAGS, f_flags); |
|
|
|
if (*flags_str == '-') { |
|
new->flags = F_ATLEAST; |
|
++flags_str; |
|
} |
|
|
|
if (string_to_flags(&flags_str, &flags, ¬flags) == 1) |
|
errx(1, "-flags: %s: illegal flags string", flags_str); |
|
|
|
new->fl_flags = flags; |
|
new->fl_mask = flags | notflags; |
|
return (new); |
|
} |
|
|
/* |
/* |
* -follow functions -- |
* -follow functions -- |
|
|
} |
} |
|
|
if ((set = setmode(perm)) == NULL) |
if ((set = setmode(perm)) == NULL) |
err(1, "-perm: %s: illegal mode string", perm); |
errx(1, "-perm: %s: illegal mode string", perm); |
|
|
new->m_data = getmode(set, 0); |
new->m_data = getmode(set, 0); |
free(set); |
free(set); |