From 001c3396d0a99fb10091b7f296335595ce99e5fe Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 13 Sep 2004 11:06:16 +0000 Subject: [PATCH] Code cleanup --- src/chgrp.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/chgrp.c b/src/chgrp.c index aed5896..2a5535a 100644 --- a/src/chgrp.c +++ b/src/chgrp.c @@ -23,14 +23,25 @@ /* chgrp */ static int _chgrp_grp_error(char * group); -static int _chgrp_gid(int opts, gid_t gid, int argc, char * argv[]); +static int _chgrp_do_recursive(int opts, gid_t gid, char * file); +static int _chgrp_do(int opts, gid_t gid, char * file); static int _chgrp(int opts, char * group, int argc, char * argv[]) { struct group * grp; + int res = 0; + int i; if((grp = getgrnam(group)) == NULL) return _chgrp_grp_error(group); - return _chgrp_gid(opts, grp->gr_gid, argc, argv); + if((opts & OPT_R) == OPT_R) + { + for(i = 0; i < argc; i++) + res +=_chgrp_do_recursive(opts, grp->gr_gid, argv[i]); + return res; + } + for(i = 0; i < argc; i++) + res +=_chgrp_do(opts, grp->gr_gid, argv[i]); + return res; } static int _chgrp_grp_error(char * group) @@ -43,24 +54,6 @@ static int _chgrp_grp_error(char * group) return 2; } -static int _chgrp_do_recursive(int opts, gid_t gid, char * file); -static int _chgrp_do(int opts, gid_t gid, char * file); -static int _chgrp_gid(int opts, gid_t gid, int argc, char * argv[]) -{ - int res = 0; - int i; - - if((opts & OPT_R) == OPT_R) - { - for(i = 0; i < argc; i++) - res +=_chgrp_do_recursive(opts, gid, argv[i]); - return res; - } - for(i = 0; i < argc; i++) - res +=_chgrp_do(opts, gid, argv[i]); - return res; -} - static int _chgrp_do_recursive_do(int opts, gid_t gid, char * file); static int _chgrp_do_recursive(int opts, gid_t gid, char * file) {