From 3fd33db4518b6cf61baf78b7859b980b1db213f4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 3 Mar 2024 10:58:07 +0300 Subject: [PATCH] fixed default messages --- src/coreutils/chgrp/chgrp.c | 13 +++++++------ src/coreutils/chmod/chmod.c | 18 +++++++++--------- src/coreutils/chown/chown.c | 12 ++++++------ src/coreutils/cp/cp.c | 3 +-- src/coreutils/rm/rm.c | 3 +-- 5 files changed, 24 insertions(+), 25 deletions(-) diff --git a/src/coreutils/chgrp/chgrp.c b/src/coreutils/chgrp/chgrp.c index 6a29d08..1f23e59 100644 --- a/src/coreutils/chgrp/chgrp.c +++ b/src/coreutils/chgrp/chgrp.c @@ -30,6 +30,7 @@ int change(const char *path, void *p) { if (v_flag) printf("chgrp: %s: changed group to %s\n", path, grp->gr_name); + return 0; } @@ -55,19 +56,19 @@ int main(int argc, char **argv) { break; default: - printf("chgrp [group] [file1 file2...]\n\t[-H if a command line argument is a symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); + printf("chgrp [group] [file1 file2...]\n\t[-H Symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); return 0; } } - if (argv[optind] == NULL) { + argv += optind; + argc -= optind; + + if (argc == 0) { fprintf(stderr, "chgrp: missing operand\n"); return 1; } - argv += optind; - argc -= optind; - struct group *grp = getgrnam(argv[0]); if (!grp) { if (f_flag) @@ -84,7 +85,7 @@ int main(int argc, char **argv) { } else - change(argv[i], grp); + ret = change(argv[i], grp); } return ret; diff --git a/src/coreutils/chmod/chmod.c b/src/coreutils/chmod/chmod.c index 2103001..81b14b7 100644 --- a/src/coreutils/chmod/chmod.c +++ b/src/coreutils/chmod/chmod.c @@ -17,11 +17,11 @@ unsigned int v_flag; int change(const char *file, void *p) { char *mode_arg = (char *)p; - struct stat old_file; - if (mu_get_stats(f_flag, H_flag, file, &old_file)) + struct stat sb; + if (mu_get_stats(f_flag, H_flag, file, &sb)) return 1; - mode_t mode = mu_parse_mode(mode_arg, old_file.st_mode); + mode_t mode = mu_parse_mode(mode_arg, sb.st_mode); if (chmod(file, mode) != 0) { if (f_flag) fprintf(stderr, "chmod: unable to chown %s: %s\n", file, strerror(errno)); @@ -30,7 +30,7 @@ int change(const char *file, void *p) { } if (v_flag) - printf("chmod: %s: changed mode to %d\n", file, mode ); + printf("chmod: %s: changed mode to %d\n", file, mode); return 0; } @@ -70,19 +70,19 @@ int main(int argc, char **argv) { break; default: - printf("chmod [ugoa]{+|-}[rwxXst] / [0 - 777] [file1 file2...]\n\t[-H If a command line argument is a symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); + printf("chmod [ugoa]{+|-}[rwxXst] / [0 - 777] [file1 file2...]\n\t[-H Symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); return 0; } } - if (argv[optind] == NULL) { + argv += optind; + argc -= optind; + + if (argc == 0) { fprintf(stderr, "chmod: missing operand\n"); return 0; } - argv += optind; - argc -= optind; - /* Restore arg */ if (arg) arg[0] = '-'; diff --git a/src/coreutils/chown/chown.c b/src/coreutils/chown/chown.c index 037960c..444b8aa 100644 --- a/src/coreutils/chown/chown.c +++ b/src/coreutils/chown/chown.c @@ -99,19 +99,19 @@ int main(int argc, char **argv) { break; default: - printf("chown USER[:[GRP]] [file1 file2...]\n\t[-H If a command line argument is a symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); + printf("chown USER[:[GRP]] [file1 file2...]\n\t[-H Symbolic link]\n\t[-R Recursive] [-f Silent]\n\t[-v Verbose]\n"); return 0; } } - if (argv[optind] == NULL) { + argv += optind; + argc -= optind; + + if (argc == 0) { fprintf(stderr, "chown: missing operand\n"); return 1; } - argv += optind; - argc -= optind; - gid = -1; uid = -1; get_owner(argv[0]); @@ -124,7 +124,7 @@ int main(int argc, char **argv) { } else - change(argv[i], argv[0]); + ret = change(argv[i], argv[0]); } return ret; diff --git a/src/coreutils/cp/cp.c b/src/coreutils/cp/cp.c index ab16e40..d36fce6 100644 --- a/src/coreutils/cp/cp.c +++ b/src/coreutils/cp/cp.c @@ -169,12 +169,11 @@ int main(int argc, char **argv) { break; case 'r': - case 'R': r_flag = 1; break; default: - printf("cp [src1 src2...] [dst]\n\t[-f Silent] [-r/-R Recursive]\n"); + printf("cp [src1 src2...] [dst]\n\t[-f Silent] [-r Recursive]\n"); return 0; } } diff --git a/src/coreutils/rm/rm.c b/src/coreutils/rm/rm.c index 8262de8..944d8d8 100644 --- a/src/coreutils/rm/rm.c +++ b/src/coreutils/rm/rm.c @@ -45,12 +45,11 @@ int main(int argc, char **argv) { break; case 'r': - case 'R': r_flag = 1; break; default: - printf("rm [file1 file2...]\n\t[-f Force] [-r/-R Recursive]\n"); + printf("rm [file1 file2...]\n\t[-f Force] [-r Recursive]\n"); return 0; } }