rm: downsize, fix buffers
authorAlan Cox <alan@linux.intel.com>
Wed, 20 May 2015 22:30:47 +0000 (23:30 +0100)
committerAlan Cox <alan@linux.intel.com>
Wed, 20 May 2015 22:30:47 +0000 (23:30 +0100)
Applications/util/rm.c

index 6fc4556..9280c48 100644 (file)
@@ -3,6 +3,12 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+/* FIXME: need -r -v -i etc */
+static void writes(int fd, const char *p)
+{
+    write(fd, p, strlen(p));
+}
+
 char *basename(char *name)
 {
     char *base = rindex(name, '/');
@@ -14,12 +20,16 @@ int main(int argc, const char *argv[])
 {
     int i /*, recurse = 0, interact =0 */ ;
     struct stat sbuf;
+    int err = 1;
 
     for (i = 1; i < argc; i++) {
        if (argv[i][0] != '-') {
            if (!lstat(argv[i], &sbuf)) {
                if (unlink(argv[i])) {
-                   fprintf(stderr, "rm: could not remove %s\n", argv[i]);
+                   writes(2, argv[0]);
+                   writes(2, ": cannot remove '");
+                   writes(2, argv[i]);
+                   perror("': ");
                }
            }
        }