diff options
author | joe <joe@FreeBSD.org> | 1999-12-09 20:38:36 +0000 |
---|---|---|
committer | joe <joe@FreeBSD.org> | 1999-12-09 20:38:36 +0000 |
commit | 2d2f34a6b0d504ee514ce90ee4680797ca32254c (patch) | |
tree | 67ed32cdc7f451c6623d8ec3550f32874bffbf70 /usr.sbin/mtree/spec.c | |
parent | c6d289b2ad57b3e51ea70ee85c86808035d1e10f (diff) | |
download | FreeBSD-src-2d2f34a6b0d504ee514ce90ee4680797ca32254c.zip FreeBSD-src-2d2f34a6b0d504ee514ce90ee4680797ca32254c.tar.gz |
Added support for file flags, mostly merged from the NetBSD version.
The way is now open to schg and sappnd key files and directories in
our tree. There are recommendations in bin/15229.
PR: bin/15229
Reviewed by: imp, brian
Diffstat (limited to 'usr.sbin/mtree/spec.c')
-rw-r--r-- | usr.sbin/mtree/spec.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr.sbin/mtree/spec.c b/usr.sbin/mtree/spec.c index 4a23073..3fa9e7c 100644 --- a/usr.sbin/mtree/spec.c +++ b/usr.sbin/mtree/spec.c @@ -172,10 +172,10 @@ noparent: errx(1, "line %d: no parent node", lineno); static void set(t, ip) char *t; - register NODE *ip; + NODE *ip; { register int type; - register char *kw, *val = NULL; + char *kw, *val = NULL; struct group *gr; struct passwd *pw; mode_t *m; @@ -211,6 +211,12 @@ set(t, ip) errx(1, "strdup"); } break; + case F_FLAGS: + if (strcmp("none", val) == 0) + ip->st_flags = 0; + else if (string_to_flags(&val, &ip->st_flags,NULL) != 0) + errx(1, "line %d: invalid flag %s",lineno, val); + break; case F_GID: ip->st_gid = strtoul(val, &ep, 10); if (*ep) |