Split code to generate "rwx-----" strings into lib/permstring.c so it
[rsync/rsync.git] / util.c
diff --git a/util.c b/util.c
index df2af3e..ada4046 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2,6 +2,7 @@
     
     Copyright (C) 1996-2000 by Andrew Tridgell 
     Copyright (C) Paul Mackerras 1996
+    Copyright (C) 2001 by Martin Pool <mbp@samba.org>
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -153,6 +154,7 @@ pid_t local_child(int argc, char **argv,int *f_in,int *f_out)
        pid_t pid;
        int to_child_pipe[2];
        int from_child_pipe[2];
+       extern int read_batch;  /* dw */
 
        if (fd_pair(to_child_pipe) < 0 ||
            fd_pair(from_child_pipe) < 0) {
@@ -171,7 +173,10 @@ pid_t local_child(int argc, char **argv,int *f_in,int *f_out)
                extern int am_sender;
                extern int am_server;
 
-               am_sender = !am_sender;
+               if (read_batch)
+                   am_sender = 0;
+               else
+                   am_sender = !am_sender;
                am_server = 1;          
 
                if (dup2(to_child_pipe[0], STDIN_FILENO) < 0 ||
@@ -901,10 +906,13 @@ char *timestring(time_t t)
 }
 
 
-/*******************************************************************
-sleep for a specified number of milliseconds
-********************************************************************/
-void msleep(int t)
+/**
+ * Sleep for a specified number of milliseconds.
+ *
+ * Always returns TRUE.  (In the future it might return FALSE if
+ * interrupted.)
+ **/
+int msleep(int t)
 {
        int tdiff=0;
        struct timeval tval,t1,t2;  
@@ -923,6 +931,8 @@ void msleep(int t)
                tdiff = (t2.tv_sec - t1.tv_sec)*1000 + 
                        (t2.tv_usec - t1.tv_usec)/1000;
        }
+
+       return True;
 }