Changeset 685 for trunk/src/gmake/kmkbuiltin/rmdir.c
- Timestamp:
- Dec 8, 2006, 5:14:44 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/kmkbuiltin/rmdir.c
r684 r685 62 62 static int vflag; 63 63 static int ignore_fail_on_non_empty; 64 static int ignore_fail_on_not_exist; 64 65 65 66 static struct option long_options[] = 66 67 { 67 68 { "ignore-fail-on-non-empty", no_argument, 0, 260 }, 69 { "ignore-fail-on-not-exist", no_argument, 0, 261 }, 68 70 { "parents", no_argument, 0, 'p' }, 69 71 { "verbose", no_argument, 0, 'v' }, … … 78 80 79 81 /* reinitialize globals */ 80 ignore_fail_on_no n_empty = vflag = pflag = 0;82 ignore_fail_on_not_exist = ignore_fail_on_non_empty = vflag = pflag = 0; 81 83 82 84 /* kmk: reset getopt and set progname */ … … 102 104 ignore_fail_on_non_empty = 1; 103 105 break; 106 case 261: 107 ignore_fail_on_not_exist = 1; 108 break; 104 109 case '?': 105 110 default: … … 114 119 for (errors = 0; *argv; argv++) { 115 120 if (rmdir(*argv) < 0) { 116 if (!ignore_fail_on_non_empty || errno != ENOTEMPTY) { 121 if ( (!ignore_fail_on_non_empty || errno != ENOTEMPTY) 122 && (!ignore_fail_on_not_exist || errno != ENOENT)) { 117 123 warn("%s", *argv); 118 124 errors = 1; … … 162 168 163 169 if (rmdir(path) < 0) { 164 if (ignore_fail_on_non_empty && errno != ENOTEMPTY)170 if (ignore_fail_on_non_empty && errno == ENOTEMPTY) 165 171 break; 166 warn("%s", path); 167 return (1); 172 if (!ignore_fail_on_not_exist || errno != ENOENT) { 173 warn("%s", path); 174 return (1); 175 } 168 176 } 169 177 if (vflag) … … 178 186 { 179 187 180 (void)fprintf(stderr, "usage: rmdir [-pv ] directory ...\n");188 (void)fprintf(stderr, "usage: rmdir [-pv --ignore-fail-on-non-empty --ignore-fail-on-not-exist] directory ...\n"); 181 189 return 1; 182 190 }
Note:
See TracChangeset
for help on using the changeset viewer.