X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d9bea2ddd44fdcfbaf6f153f72d944603560036c..dc5ddbccace1f4f37d57ce5d961117effc28a356:/util.c diff --git a/util.c b/util.c index 22ca8c2f..f9985ef2 100644 --- a/util.c +++ b/util.c @@ -66,7 +66,7 @@ char *map_ptr(char *buf,off_t offset,int len) return (p + (offset - p_offset)); } - len = MAX(len,WRITE_BLOCK_SIZE); + len = MAX(len,CHUNK_SIZE); len = MIN(len,map_size - offset); if (len > p_size) { @@ -78,8 +78,8 @@ char *map_ptr(char *buf,off_t offset,int len) if (lseek(map_fd,offset,SEEK_SET) != offset || read(map_fd,p,len) != len) { - fprintf(stderr,"EOF in map_ptr!\n"); - exit(1); + fprintf(FERROR,"EOF in map_ptr!\n"); + exit_cleanup(1); } p_offset = offset; @@ -91,8 +91,10 @@ char *map_ptr(char *buf,off_t offset,int len) void unmap_file(char *buf,off_t len) { +#ifdef HAVE_MMAP if (len > 0 && buf) munmap(buf,len); +#endif map_fd = -1; map_size = 0; p_len = 0; @@ -108,15 +110,15 @@ int piped_child(char **command,int *f_in,int *f_out) if (pipe(to_child_pipe) < 0 || pipe(from_child_pipe) < 0) { - fprintf(stderr,"pipe: %s\n",strerror(errno)); - exit(1); + fprintf(FERROR,"pipe: %s\n",strerror(errno)); + exit_cleanup(1); } pid = fork(); if (pid < 0) { - fprintf(stderr,"fork: %s\n",strerror(errno)); - exit(1); + fprintf(FERROR,"fork: %s\n",strerror(errno)); + exit_cleanup(1); } if (pid == 0) @@ -125,19 +127,19 @@ int piped_child(char **command,int *f_in,int *f_out) close(to_child_pipe[1]) < 0 || close(from_child_pipe[0]) < 0 || dup2(from_child_pipe[1], STDOUT_FILENO) < 0) { - fprintf(stderr,"Failed to dup/close : %s\n",strerror(errno)); - exit(1); + fprintf(FERROR,"Failed to dup/close : %s\n",strerror(errno)); + exit_cleanup(1); } execvp(command[0], command); - fprintf(stderr,"Failed to exec %s : %s\n", + fprintf(FERROR,"Failed to exec %s : %s\n", command[0],strerror(errno)); - exit(1); + exit_cleanup(1); } if (close(from_child_pipe[1]) < 0 || close(to_child_pipe[0]) < 0) { - fprintf(stderr,"Failed to close : %s\n",strerror(errno)); - exit(1); + fprintf(FERROR,"Failed to close : %s\n",strerror(errno)); + exit_cleanup(1); } *f_in = from_child_pipe[0]; @@ -149,8 +151,8 @@ int piped_child(char **command,int *f_in,int *f_out) void out_of_memory(char *str) { - fprintf(stderr,"out of memory in %s\n",str); - exit(1); + fprintf(FERROR,"out of memory in %s\n",str); + exit_cleanup(1); }