URI: 
       tReturn unlink/rmdir status in delete_content() - pm - barely a pack manager
  HTML git clone git://z3bra.org/pm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 2c21ea32dfdc263efdc030050d16a88f28c2dd48
   DIR parent 0561c20abeb8345867dab622822d3abf323b5fff
  HTML Author: z3bra <willyatmailoodotorg>
       Date:   Tue,  5 Jan 2016 18:08:24 +0100
       
       Return unlink/rmdir status in delete_content()
       
       Diffstat:
         M pm.c                                |      24 +++++++++++-------------
       
       1 file changed, 11 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/pm.c b/pm.c
       t@@ -381,11 +381,9 @@ delete_content(FILE *f)
        
                stat(file, &st);
                if (S_ISDIR(st.st_mode) && is_empty(file))
       -                rmdir(file);
       -        else
       -                unlink(file);
       +                return rmdir(file);
        
       -        return 0;
       +        return unlink(file);
        }
        
        
       t@@ -415,19 +413,20 @@ delete(const char *datadir, const char *rootfs, const char *name)
                        return -1;
                }
        
       -        delete_content(f);
       +        if (delete_content(f) < 0)
       +                return ERR_DELETE;
       +
                fclose(f);
        
                /* hack again */
                chdir(cwd);
                free(cwd);
        
       -        unlink(meta);
       +        if (unlink(meta) < 0)
       +                return ERR_DELETE;
        
                snprintf(meta, PATH_MAX, "%s/%s", datadir, name);
       -        rmdir(meta);
       -
       -        return 0;
       +        return rmdir(meta);
        }
        
        
       t@@ -520,7 +519,6 @@ main (int argc, char **argv)
                        break;
                case 'd':
                        action = ACTION_DELETE;
       -                n = EARGF(usage(argv0));
                        break;
                case 'i':
                        action = ACTION_INSPECT;
       t@@ -533,7 +531,7 @@ main (int argc, char **argv)
        
                switch (action) {
                case ACTION_INSTALL:
       -                while(*argv) {
       +                while (*argv) {
                                if ((p = pack_load(*(argv++)))) {
                                        metadata(PACKAGE_DATA, p);
                                        unpack(PACKAGE_ROOT, p->path);
       t@@ -543,8 +541,8 @@ main (int argc, char **argv)
                        break;
        
                case ACTION_DELETE:
       -                if (delete(PACKAGE_DATA, PACKAGE_ROOT, n) != 0)
       -                        return ERR_DELETE;
       +                while (*argv)
       +                        delete(PACKAGE_DATA, PACKAGE_ROOT, *argv++);
                        break;
        
                case ACTION_INSPECT: