Summary Files Commits Branches @commit @diff @stats
path: root / chwrite
diff options
context:
space:
mode:
Commitb2bc01b3c942b94c3def1bc4950e7fcbd8828b80 (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-11-08 19:52:15 +0200
Committer
 Syndamia <kamen@syndamia.com>
2026-11-08 19:52:15 +0200
Filesb4de8a021118ef46e68119ff8a2895bc87c5f47b /chwrite
cli-b2bc01b3c942b94c3def1bc4950e7fcbd8828b80.tar
cli-b2bc01b3c942b94c3def1bc4950e7fcbd8828b80.tar.gz
cli-b2bc01b3c942b94c3def1bc4950e7fcbd8828b80.zip
Parent6e29a2d08ff4085fb1a3619e6737b56cab25422a (diff)
feat(chwrite): Print errors instead of just returning
1 files changed, 13 insertions, 7 deletions
-rw-r--r--chwrite/chwrite.c20
diff --git a/chwrite/chwrite.c b/chwrite/chwrite.c
index 395cf91..8aecf4b 100644
--- a/chwrite/chwrite.c
+++ b/chwrite/chwrite.c
@@ -53,12 +53,16 @@ main(int argc, char *argv[]) {
for (i = 2; i < argc; ++i) {
f = open(argv[i], 0);
- if (f == -1)
- return errno;
+ if (f == -1) {
+ perror("open");
+ return 3;
+ }
result = fstat(f, &fs);
- if (result == -1)
- return errno;
+ if (result == -1) {
+ perror("fstat");
+ return 3;
+ }
if (operation == '+')
fs.st_mode |= S_IWUSR;
@@ -66,8 +70,10 @@ main(int argc, char *argv[]) {
fs.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);
result = fchmod(f, fs.st_mode);
- if (result == -1)
- return errno;
+ if (result == -1) {
+ perror("fchmod");
+ return 3;
+ }
}
- return result;
+ return 0;
}