diff options
author | Wayne Davison <wayned@samba.org> | 2008-11-09 18:46:55 -0800 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2008-11-09 18:56:21 -0800 |
commit | 9411292489496984c8d5d9a446bf071afac3866d (patch) | |
tree | a68d29f7e1387a01ecbd0daaff821b3fe3d3b799 /clientserver.c | |
parent | b4de848d75b5bc289f13c4f47a4f78d4c876b1a2 (diff) | |
download | android_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.tar.gz android_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.tar.bz2 android_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.zip |
Fixed a bunch of "warn_unused_result" compiler warnings.
Diffstat (limited to 'clientserver.c')
-rw-r--r-- | clientserver.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clientserver.c b/clientserver.c index b891d79a..5002959c 100644 --- a/clientserver.c +++ b/clientserver.c @@ -603,7 +603,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host) status = -1; if (asprintf(&p, "RSYNC_EXIT_STATUS=%d", status) > 0) putenv(p); - system(lp_postxfer_exec(i)); + if (system(lp_postxfer_exec(i)) < 0) + status = -1; _exit(status); } } @@ -974,20 +975,23 @@ static void create_pid_file(void) char *pid_file = lp_pid_file(); char pidbuf[16]; pid_t pid = getpid(); - int fd; + int fd, len; if (!pid_file || !*pid_file) return; cleanup_set_pid(pid); if ((fd = do_open(pid_file, O_WRONLY|O_CREAT|O_EXCL, 0666 & ~orig_umask)) == -1) { + failure: cleanup_set_pid(0); fprintf(stderr, "failed to create pid file %s: %s\n", pid_file, strerror(errno)); rsyserr(FLOG, errno, "failed to create pid file %s", pid_file); exit_cleanup(RERR_FILEIO); } snprintf(pidbuf, sizeof pidbuf, "%ld\n", (long)pid); - write(fd, pidbuf, strlen(pidbuf)); + len = strlen(pidbuf); + if (write(fd, pidbuf, len) != len) + goto failure; close(fd); } |