/* * rmdir - remove directory * * ChangeLog: * v1.1 - incorporated into GNO base distribution * - added -p flag for POSIX conformance * - moved rmdir(2) implementation to libc * v1.0 - initial revision * * Version 1.1 by Devin Reade */ #include #include #include #include #include #include #include #include #ifdef __STACK_CHECK__ static void printStack (void) { fprintf(stderr, "stack usage: %d bytes\n", _endStackCheck()); } #endif static void usage (void) { fprintf(stderr, "usage: rmdir [-p] directory ...\n"); exit(1); } const char *nodup = "couldn't duplicate %s"; int main(int argc, char **argv) { int c, result, pflag; char delim, *path, *root, *p, *q; #ifdef __STACK_CHECK__ _beginStackCheck(); atexit(printStack); #endif pflag = 0; while ((c = getopt (argc, argv, "p")) != EOF) { switch (c) { case 'p': pflag = 1; break; default: usage(); } } if ((argc - optind) == 0) { usage(); } result = 0; /* loop over all filenames */ for (; optind= path) { if (*p == ':') { *p = '\0'; break; } else { *p-- = '\0'; } } } } } return result; }