diff options
Diffstat (limited to 'src/cmd')
| -rwxr-xr-x | src/cmd/rm/makefile | 2 | ||||
| -rwxr-xr-x | src/cmd/rm/rm | bin | 34912 -> 24592 bytes | |||
| -rwxr-xr-x | src/cmd/rm/rm.c | 5 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/rm/makefile b/src/cmd/rm/makefile index 8b9afda..444ddf0 100755 --- a/src/cmd/rm/makefile +++ b/src/cmd/rm/makefile @@ -1,4 +1,4 @@ -CFLAGS=-Wall -Werror +CFLAGS=-Wall -Werror -g build: rm @cp rm $(PROROOT)/build/bin/rm diff --git a/src/cmd/rm/rm b/src/cmd/rm/rm Binary files differindex e2c59a6..4dbbec7 100755 --- a/src/cmd/rm/rm +++ b/src/cmd/rm/rm diff --git a/src/cmd/rm/rm.c b/src/cmd/rm/rm.c index ceff76b..86a30b9 100755 --- a/src/cmd/rm/rm.c +++ b/src/cmd/rm/rm.c @@ -77,7 +77,7 @@ int rm(char *path) { return -1; } } else if (S_ISDIR(sbuf.st_mode)) { - warnc(EISDIR, "%s", path); + fprintf(stderr, "rm: %s: %s\n", path, strerror(EISDIR)); return -1; } else { if (unlink(path) != 0) { @@ -101,9 +101,10 @@ int removedir(const char * const path) { size_t len = strlen(path) + strlen(name) + 3; char *newpath = (char *)malloc(len); if (newpath == NULL) { + perror("rm"); exit(EXIT_FAILURE); } - strncat(newpath, path, len); + strncpy(newpath, path, len); strncat(newpath, "/", (len -= strlen(path))); strncat(newpath, name, --len); status = rm(newpath); |
