rmdir.c - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       rmdir.c (716B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 #include <libgen.h>
            3 #include <string.h>
            4 #include <unistd.h>
            5 
            6 #include "util.h"
            7 
            8 static void
            9 usage(void)
           10 {
           11         eprintf("usage: %s [-p] dir ...\n", argv0);
           12 }
           13 
           14 int
           15 main(int argc, char *argv[])
           16 {
           17         int pflag = 0, ret = 0;
           18         char *d;
           19 
           20         ARGBEGIN {
           21         case 'p':
           22                 pflag = 1;
           23                 break;
           24         default:
           25                 usage();
           26         } ARGEND
           27 
           28         if (!argc)
           29                 usage();
           30 
           31         for (; *argv; argc--, argv++) {
           32                 if (rmdir(*argv) < 0) {
           33                         weprintf("rmdir %s:", *argv);
           34                         ret = 1;
           35                 } else if (pflag) {
           36                         d = dirname(*argv);
           37                         for (; strcmp(d, "/") && strcmp(d, ".") ;) {
           38                                 if (rmdir(d) < 0) {
           39                                         weprintf("rmdir %s:", d);
           40                                         ret = 1;
           41                                         break;
           42                                 }
           43                                 d = dirname(d);
           44                         }
           45                 }
           46         }
           47 
           48         return ret;
           49 }