Skip to content

Commit

Permalink
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion src/bee-dep.c
Original file line number Diff line number Diff line change
@@ -157,6 +157,26 @@ static FILE *open_and_lock(char *filename, char *mode)
return f;
}

int mkdirp(char *path, mode_t mode)
{
char *dir, *pdir;
struct stat st;

if(path == NULL) {
return -1;
}

dir = strdup(path);
pdir = dirname(dir);
if(stat(pdir, &st) == -1) {
mkdirp(pdir, mode);
}

free(dir);

return mkdir(path, mode);
}

int main(int argc, char *argv[])
{
int c, help, rebuild, update, remove, print, options;
@@ -240,7 +260,7 @@ int main(int argc, char *argv[])
dir = strdup(cachefile);
dir = dirname(dir);

if (stat(dir, &st) == -1 && mkdir(dir, 0755) == -1) {
if (stat(dir, &st) == -1 && mkdirp(dir, 0755) == -1) {
perror("bee-dep: mkdir");
exit(EXIT_FAILURE);
}

0 comments on commit 00d9a8d

Please sign in to comment.