Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Optimize finding the sum that matches our --inplace position.
[rsync/rsync.git]
/
main.c
diff --git
a/main.c
b/main.c
index
d020e6c
..
649aa90
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-130,7
+130,7
@@
static void show_malloc_stats(void);
pid_t wait_process(pid_t pid, int *status_ptr, int flags)
{
pid_t waited_pid;
pid_t wait_process(pid_t pid, int *status_ptr, int flags)
{
pid_t waited_pid;
-
+
do {
waited_pid = waitpid(pid, status_ptr, flags);
} while (waited_pid == -1 && errno == EINTR);
do {
waited_pid = waitpid(pid, status_ptr, flags);
} while (waited_pid == -1 && errno == EINTR);
@@
-493,7
+493,11
@@
static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in
rprintf(FERROR, "internal: args[] overflowed in do_cmd()\n");
exit_cleanup(RERR_SYNTAX);
}
rprintf(FERROR, "internal: args[] overflowed in do_cmd()\n");
exit_cleanup(RERR_SYNTAX);
}
- args[argc++] = *remote_argv++;
+ if (**remote_argv == '-') {
+ if (asprintf(args + argc++, "./%s", *remote_argv++) < 0)
+ out_of_memory("do_cmd");
+ } else
+ args[argc++] = *remote_argv++;
remote_argc--;
}
}
remote_argc--;
}
}