blob: 31a53bf7e7991138892ac13a80bdfe4a1641fda2 [file] [log] [blame]
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -08001#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include <sys/types.h>
5#include <dirent.h>
6#include <errno.h>
7
8#include <unistd.h>
9#include <time.h>
10
11int chmod_main(int argc, char **argv)
12{
13 int i;
14
15 if (argc < 3) {
16 fprintf(stderr, "Usage: chmod <MODE> <FILE>\n");
17 return 10;
18 }
19
20 int mode = 0;
21 const char* s = argv[1];
22 while (*s) {
23 if (*s >= '0' && *s <= '7') {
24 mode = (mode<<3) | (*s-'0');
25 }
26 else {
27 fprintf(stderr, "Bad mode\n");
28 return 10;
29 }
30 s++;
31 }
32 for (i = 2; i < argc; i++) {
33 if (chmod(argv[i], mode) < 0) {
34 fprintf(stderr, "Unable to chmod %s: %s\n", argv[i], strerror(errno));
35 return 10;
36 }
37 }
38 return 0;
39}
40