aboutsummaryrefslogtreecommitdiff
path: root/chmod_chown_chgrp.c
diff options
context:
space:
mode:
Diffstat (limited to 'chmod_chown_chgrp.c')
-rw-r--r--chmod_chown_chgrp.c23
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
52static int fileAction(const char *fileName) 52static 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);