while (1) {
c = '\0';
- if (flags & FILEUTILS_RECUR) { /* Get the parent */
+ if (flags & FILEUTILS_RECUR) { /* Get the parent */
/* Bypass leading non-'/'s and then subsequent '/'s */
while (*s) {
if (*s == '/') {
* an error. */
if ((mode != -1) && (chmod(path, mode) < 0)) {
fail_msg = "set permissions of";
+ if (flags & FILEUTILS_IGNORE_CHMOD_ERR) {
+ flags = 0;
+ goto print_err;
+ }
break;
}
goto ret0;
*s = c;
} /* while (1) */
- bb_perror_msg("can't %s directory '%s'", fail_msg, path);
flags = -1;
+ print_err:
+ bb_perror_msg("can't %s directory '%s'", fail_msg, path);
goto ret;
ret0:
flags = 0;