--- chown.1 | 14 +++++++++++--- chown.c | 8 ++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/chown.1 b/chown.1 index 4bb3b8b..af6ac69 100644 --- a/chown.1 +++ b/chown.1 _AT_@ -11,15 +11,23 @@ .Fl R .Op Fl H | L | P .Oc -.Op Ar owner Op Ar :group +.Ar owner Ns Op : Ns Op Ar group +.Op Ar file ... +.Nm +.Op Fl h +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Pf : Ar group .Op Ar file ... .Sh DESCRIPTION .Nm -sets the user or group id of each +sets the user and/or group id of each .Ar file to the uid of .Ar owner -or the gid of +and/or the gid of .Ar group respectively. .Sh OPTIONS diff --git a/chown.c b/chown.c index 1bf9cbb..8bb08e3 100644 --- a/chown.c +++ b/chown.c _AT_@ -40,8 +40,9 @@ chownpwgr(const char *path, struct stat *st, void *data, struct recursor *r) static void usage(void) { - eprintf("usage: %s [-h] [-R [-H | -L | -P]] [owner][:[group]] " - "file ...\n", argv0); + eprintf("usage: %s [-h] [-R [-H | -L | -P]] owner[:[group]] file ...\n" + " %s [-h] [-R [-H | -L | -P]] :group file ...\n", + argv0, argv0); } int _AT_@ -99,6 +100,9 @@ main(int argc, char *argv[]) gid = estrtonum(group, 0, UINT_MAX); } } + if (uid < 0 && gid < 0) + usage(); + for (argc--, argv++; *argv; argc--, argv++) recurse(*argv, NULL, &r); -- 2.6.4Received on Mon Dec 21 2015 - 19:58:00 CET
This archive was generated by hypermail 2.3.0 : Mon Dec 21 2015 - 20:00:15 CET