Added a warning message when a file fails to verify, letting the user
authorWayne Davison <wayned@samba.org>
Thu, 22 Jul 2004 04:15:18 +0000 (04:15 +0000)
committerWayne Davison <wayned@samba.org>
Thu, 22 Jul 2004 04:15:18 +0000 (04:15 +0000)
know if we retained it or discarded it.  Especially useful for batch-
reading mode where the old code could look like it did the update when
it really silently failed.

receiver.c

index fcde60f82c21580fbcfd071b24bee70616b4c630..1fe973358dbfda76abbe9921174125f9a44e685c 100644 (file)
@@ -552,15 +552,25 @@ int recv_files(int f_in, struct file_list *flist, char *local_name)
                cleanup_disable();
 
                if (!recv_ok) {
-                       if (csum_length == SUM_LENGTH) {
-                               rprintf(FERROR,"ERROR: file corruption in %s. File changed during transfer?\n",
-                                       full_fname(fname));
-                       } else {
+                       int msgtype;
+                       char *redostr;
+                       if (csum_length != SUM_LENGTH) {
                                char buf[4];
-                               if (verbose > 1)
-                                       rprintf(FINFO,"redoing %s(%d)\n",fname,i);
                                SIVAL(buf, 0, i);
                                send_msg(MSG_REDO, buf, 4);
+                               msgtype = read_batch ? FERROR : FINFO;
+                               redostr = read_batch ? " Redo doubtful."
+                                                    : " Redo pending.";
+                       } else {
+                               msgtype = FERROR;
+                               redostr = "";
+                       }
+                       if (verbose || read_batch) {
+                               rprintf(msgtype,
+                                       "%s: %s failed verification. Update %sed.%s\n",
+                                       msgtype == FERROR ? "ERROR" : "WARNING",
+                                       fname, keep_partial || inplace ?
+                                       "retain" : "discard", redostr);
                        }
                }
        }