]> arthur.barton.de Git - netatalk.git/blobdiff - bin/ad/ad_mv.c
Merge master
[netatalk.git] / bin / ad / ad_mv.c
index 342f22211d04e662ef9022601ef6df101a3bf764..156d648b004a5d2fe0f26a6a30ef1b95b4378651 100644 (file)
@@ -186,7 +186,7 @@ int ad_mv(int argc, char *argv[])
     set_signal();
     cnid_init();
     if (openvol(argv[argc - 1], &dvolume) != 0) {
-        SLOG("Error opening CNID database for %s: ", argv[argc - 1]);
+        SLOG("Error opening CNID database for source \"%s\": ", argv[argc - 1]);
         return 1;
     }
 
@@ -198,7 +198,7 @@ int ad_mv(int argc, char *argv[])
         if (argc > 2)
             usage_mv();
         if (openvol(argv[0], &svolume) != 0) {
-            SLOG("Error opening CNID database for %s: ", argv[0]);
+            SLOG("Error opening CNID database for destination \"%s\": ", argv[0]);
             return 1;
         }
         rval = do_move(argv[0], argv[1]);
@@ -235,11 +235,8 @@ int ad_mv(int argc, char *argv[])
             rval = 1;
         } else {
             memmove(endp, p, (size_t)len + 1);
-            if (openvol(*argv, &svolume) != 0) {
-                SLOG("Error opening CNID database for %s: ", argv[0]);
-                rval = 1;
-                goto exit;
-            }
+            openvol(*argv, &svolume);
+
             if (do_move(*argv, path))
                 rval = 1;
             closevol(&svolume);
@@ -377,7 +374,7 @@ static int do_move(const char *from, const char *to)
 
         struct adouble ad;
         ad_init(&ad, dvolume.volinfo.v_adouble, dvolume.volinfo.v_ad_options);
-        if (ad_open_metadata(to, S_ISDIR(sb.st_mode) ? ADFLAGS_DIR : 0, O_RDWR, &ad) != 0) {
+        if (ad_open(&ad, to, S_ISDIR(sb.st_mode) ? (ADFLAGS_DIR | ADFLAGS_HF) : ADFLAGS_HF, O_RDWR) != 0) {
             SLOG("Error opening adouble for: %s", to);
             return 1;
         }