chown.c (3032) | chown.c (8857) |
---|---|
1/* 2 * Copyright (c) 1988, 1993, 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 62 unchanged lines hidden (view full) --- 71main(argc, argv) 72 int argc; 73 char *argv[]; 74{ 75 FTS *ftsp; 76 FTSENT *p; 77 int Hflag, Lflag, Pflag, ch, fts_options, hflag, rval; 78 char *cp; | 1/* 2 * Copyright (c) 1988, 1993, 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 62 unchanged lines hidden (view full) --- 71main(argc, argv) 72 int argc; 73 char *argv[]; 74{ 75 FTS *ftsp; 76 FTSENT *p; 77 int Hflag, Lflag, Pflag, ch, fts_options, hflag, rval; 78 char *cp; |
79 | 79 |
80 myname = (cp = rindex(*argv, '/')) ? cp + 1 : *argv; 81 ischown = myname[2] == 'o'; | 80 myname = (cp = rindex(*argv, '/')) ? cp + 1 : *argv; 81 ischown = myname[2] == 'o'; |
82 | 82 |
83 Hflag = Lflag = Pflag = hflag = 0; 84 while ((ch = getopt(argc, argv, "HLPRfh")) != EOF) 85 switch (ch) { 86 case 'H': 87 Hflag = 1; 88 Lflag = Pflag = 0; 89 break; 90 case 'L': --- 49 unchanged lines hidden (view full) --- 140 if ((cp = strchr(*argv, '.')) != NULL) { 141 *cp++ = '\0'; 142 a_gid(cp); 143 } else 144#endif 145 if ((cp = strchr(*argv, ':')) != NULL) { 146 *cp++ = '\0'; 147 a_gid(cp); | 83 Hflag = Lflag = Pflag = hflag = 0; 84 while ((ch = getopt(argc, argv, "HLPRfh")) != EOF) 85 switch (ch) { 86 case 'H': 87 Hflag = 1; 88 Lflag = Pflag = 0; 89 break; 90 case 'L': --- 49 unchanged lines hidden (view full) --- 140 if ((cp = strchr(*argv, '.')) != NULL) { 141 *cp++ = '\0'; 142 a_gid(cp); 143 } else 144#endif 145 if ((cp = strchr(*argv, ':')) != NULL) { 146 *cp++ = '\0'; 147 a_gid(cp); |
148 } | 148 } |
149 a_uid(*argv); | 149 a_uid(*argv); |
150 } else | 150 } else |
151 a_gid(*argv); 152 153 if ((ftsp = fts_open(++argv, fts_options, 0)) == NULL) 154 err(1, NULL); 155 156 for (rval = 0; (p = fts_read(ftsp)) != NULL;) { 157 switch (p->fts_info) { 158 case FTS_D: --- 95 unchanged lines hidden (view full) --- 254 while (--ngroups >= 0 && gid != groups[ngroups]); 255 if (ngroups < 0) { 256 if (fflag) 257 exit(0); 258 errx(1, "you are not a member of group %s", gname); 259 } 260 } 261 | 151 a_gid(*argv); 152 153 if ((ftsp = fts_open(++argv, fts_options, 0)) == NULL) 154 err(1, NULL); 155 156 for (rval = 0; (p = fts_read(ftsp)) != NULL;) { 157 switch (p->fts_info) { 158 case FTS_D: --- 95 unchanged lines hidden (view full) --- 254 while (--ngroups >= 0 && gid != groups[ngroups]); 255 if (ngroups < 0) { 256 if (fflag) 257 exit(0); 258 errx(1, "you are not a member of group %s", gname); 259 } 260 } 261 |
262 if (!fflag) | 262 if (!fflag) |
263 warn("%s", file); 264} 265 266void 267usage() 268{ 269 (void)fprintf(stderr, 270 "usage: %s [-R [-H | -L | -P]] [-f] %s file ...\n", 271 myname, ischown ? "[owner][:group]" : "group"); 272 exit(1); 273} | 263 warn("%s", file); 264} 265 266void 267usage() 268{ 269 (void)fprintf(stderr, 270 "usage: %s [-R [-H | -L | -P]] [-f] %s file ...\n", 271 myname, ischown ? "[owner][:group]" : "group"); 272 exit(1); 273} |