diff options
Diffstat (limited to 'chmod_chown_chgrp.c')
-rw-r--r-- | chmod_chown_chgrp.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/chmod_chown_chgrp.c b/chmod_chown_chgrp.c index 5c2adab78..f3d8ce207 100644 --- a/chmod_chown_chgrp.c +++ b/chmod_chown_chgrp.c | |||
@@ -49,20 +49,17 @@ static const char chmod_usage[] = "[-R] MODE[,MODE]... FILE...\n" | |||
49 | 49 | ||
50 | 50 | ||
51 | 51 | ||
52 | static int fileAction(const char *fileName) | 52 | static int fileAction(const char *fileName, struct stat* statbuf) |
53 | { | 53 | { |
54 | struct stat statBuf; | 54 | switch (whichApp) { |
55 | if (stat(fileName, &statBuf) < 0) { | 55 | case CHGRP_APP: |
56 | switch (whichApp) { | 56 | case CHOWN_APP: |
57 | case CHGRP_APP: | 57 | if (chown(fileName, ((whichApp==CHOWN_APP)? uid: statbuf->st_uid), gid) < 0) |
58 | case CHOWN_APP: | 58 | return( TRUE); |
59 | if (chown(fileName, ((whichApp==CHOWN_APP)? uid: statBuf.st_uid), gid) < 0) | 59 | case CHMOD_APP: |
60 | return( TRUE); | 60 | fprintf(stderr, "%s, %d\n", fileName, mode); |
61 | case CHMOD_APP: | 61 | if (chmod(fileName, mode)) |
62 | fprintf(stderr, "%s, %d\n", fileName, mode); | 62 | return( TRUE); |
63 | if (chmod(fileName, mode)) | ||
64 | return( TRUE); | ||
65 | } | ||
66 | } | 63 | } |
67 | perror(fileName); | 64 | perror(fileName); |
68 | return( FALSE); | 65 | return( FALSE); |