]> arthur.barton.de Git - netatalk.git/commitdiff
Fix -f
authorFrank Lahm <franklahm@googlemail.com>
Sat, 16 Apr 2011 17:50:29 +0000 (19:50 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Sat, 16 Apr 2011 17:50:29 +0000 (19:50 +0200)
etc/cnid_dbd/cmd_dbd.c

index 57c56e08daf2e3e833c5100135dae8f696157694..2805b6fcf5c91423f36dd7e7c43784943c74300f 100644 (file)
@@ -439,9 +439,13 @@ int main(int argc, char **argv)
     if ((flags & DBD_FLAGS_FORCE) && rebuild && (volinfo.v_flags & AFPVOL_CACHE)) {
         char cmd[8 + MAXPATHLEN];
         close(lockfd);
-        snprintf(cmd, 8 + MAXPATHLEN, "rm -f \"%s/*\"", dbpath);
+        snprintf(cmd, 8 + MAXPATHLEN, "rm -rf \"%s\"", dbpath);
         dbd_log( LOGDEBUG, "Removing old database of volume: '%s'", volpath);
         system(cmd);
+        if ((mkdir(dbpath, 0755)) != 0) {
+            dbd_log( LOGSTD, "Can't create dbpath \"%s\": %s", dbpath, strerror(errno));
+            exit(EXIT_FAILURE);
+        }
         dbd_log( LOGDEBUG, "Removed old database.");
         lockfd = get_lock(dbpath);
     }