report exit code when failing a test
[rsync/rsync.git] / util.c
diff --git a/util.c b/util.c
index a010165..4382300 100644 (file)
--- a/util.c
+++ b/util.c
@@ -367,17 +367,6 @@ int robust_rename(char *from, char *to)
                return -1;
        return do_rename(from, to);
 #endif
-    }
-
-
-/* sleep for a while via select */
-void u_sleep(int usec)
-{
-       struct timeval tv;
-
-       tv.tv_sec = 0;
-       tv.tv_usec = usec;
-       select(0, NULL, NULL, NULL, &tv);
 }
 
 
@@ -778,12 +767,12 @@ int u_strcmp(const char *cs1, const char *cs2)
 
 static OFF_T last_ofs;
 
-void end_progress(void)
+void end_progress(OFF_T size)
 {
        extern int do_progress, am_server;
 
        if (do_progress && !am_server) {
-               rprintf(FINFO,"\n");
+               rprintf(FINFO,"%.0f (100%%)\n", (double)size);
        }
        last_ofs = 0;
 }
@@ -870,3 +859,15 @@ char *timestring(time_t t)
        return(TimeBuf);
 }
 
+
+/****************************************************************************
+ like waitpid but does the WEXITSTATUS
+****************************************************************************/
+#ifndef WEXITSTATUS
+#define        WEXITSTATUS(stat)       ((int)(((stat)>>8)&0xFF))
+#endif
+void wait_process(pid_t pid, int *status)
+{
+       waitpid(pid, status, 0);
+       *status = WEXITSTATUS(*status);
+}