xref: /plan9-contrib/sys/src/cmd/chgrp.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1 #include <u.h>
2 #include <libc.h>
3 
4 int	readgid(char *);
5 
6 void
7 main(int argc, char *argv[])
8 {
9 	int i;
10 	Dir dir;
11 	char err[ERRLEN];
12 	char *group;
13 	char *errs;
14 
15 	if(argc < 2){
16 		fprint(2, "usage: chgrp group file ....\n");
17 		exits("usage");
18 	}
19 	group = argv[1];
20 	errs = 0;
21 	for(i=2; i<argc; i++){
22 		if(dirstat(argv[i], &dir)==-1){
23 			errstr(err);
24 			fprint(2, "chgrp: can't stat %s: %s\n", argv[i], err);
25 			errs = "can't stat";
26 			continue;
27 		}
28 		strncpy(dir.gid, group, sizeof(dir.gid));
29 		if(dirwstat(argv[i], &dir)==-1){
30 			errstr(err);
31 			fprint(2, "chgrp: can't wstat %s: %s\n", argv[i], err);
32 			errs = "can't wstat";
33 			continue;
34 		}
35 	}
36 	exits(errs);
37 }
38