1cf2254a64357c73c4fbdc07badb0e2529c18e62 galt Tue Mar 2 04:31:58 2010 -0800 mkdir various subdir levels needed diff --git git-reports.c git-reports.c index d42a478..5ff3dd7 100644 --- git-reports.c +++ git-reports.c @@ -176,14 +176,29 @@ /* create prefix dir */ char path[256]; safef(path, sizeof(path), "%s/%s", outDir, outPrefix); -if (mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) +if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) errnoAbort("unable to mkdir %s", path); +/* create file dir */ +safef(path, sizeof(path), "%s/%s/%s", outDir, outPrefix, "file"); +if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) + errnoAbort("unable to mkdir %s", path); + +/* create user dir */ +safef(path, sizeof(path), "%s/%s/%s", outDir, outPrefix, "user"); +if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) + errnoAbort("unable to mkdir %s", path); struct slName*u; for(u = users; u; u = u->next) { printf("user: %s\n", u->name); + + /* create user/name dir */ + safef(path, sizeof(path), "%s/%s/%s/%s", outDir, outPrefix, "user", u->name); + if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) + errnoAbort("unable to mkdir %s", path); + } }