- if (stat(ctx->savedir, &statbuf) < 0)
- mkdir(ctx->savedir, UCI_DIRMODE);
- else if ((statbuf.st_mode & S_IFMT) != S_IFDIR)
+ if (stat(ctx->savedir, &statbuf) < 0) {
+ if (stat(ctx->confdir, &statbuf) == 0) {
+ mkdir(ctx->savedir, statbuf.st_mode);
+ } else {
+ mkdir(ctx->savedir, UCI_DIRMODE);
+ }
+ } else if ((statbuf.st_mode & S_IFMT) != S_IFDIR) {