some code cleanup in preparation for a cleaner client/server split
[rsync/rsync.git] / util.c
diff --git a/util.c b/util.c
index 1a041a3..357b830 100644 (file)
--- a/util.c
+++ b/util.c
@@ -32,7 +32,7 @@ int num_waiting(int fd)
 }
 
 
-struct map_struct *map_file(int fd,off_t len)
+struct map_struct *map_file(int fd,OFF_T len)
 {
   struct map_struct *ret;
   ret = (struct map_struct *)malloc(sizeof(*ret));
@@ -47,14 +47,18 @@ struct map_struct *map_file(int fd,off_t len)
   ret->p_len = 0;
 
 #ifdef HAVE_MMAP
-  if (len < MAX_MAP_SIZE)
-    ret->map = (char *)mmap(NULL,len,PROT_READ,MAP_SHARED,fd,0);
+  if (len < MAX_MAP_SIZE) {
+         ret->map = (char *)mmap(NULL,len,PROT_READ,MAP_SHARED,fd,0);
+         if (ret->map == (char *)-1) {
+                 ret->map = NULL;
+         }
+  }
 #endif
   return ret;
 }
 
 
-char *map_ptr(struct map_struct *map,off_t offset,int len)
+char *map_ptr(struct map_struct *map,OFF_T offset,int len)
 {
   int nread = -2;
 
@@ -83,7 +87,7 @@ char *map_ptr(struct map_struct *map,off_t offset,int len)
     map->p_size = len;
   }
 
-  if (lseek(map->fd,offset,SEEK_SET) != offset ||
+  if (do_lseek(map->fd,offset,SEEK_SET) != offset ||
       (nread=read(map->fd,map->p,len)) != len) {
          fprintf(FERROR,"EOF in map_ptr! (offset=%d len=%d nread=%d errno=%d)\n",
                  (int)offset, len, nread, errno);
@@ -298,7 +302,7 @@ int create_directory_path(char *fname)
        p = fname;
        while ((p=strchr(p,'/'))) {
                *p = 0;
-               mkdir(fname,0777 & ~orig_umask); 
+               do_mkdir(fname,0777 & ~orig_umask); 
                *p = '/';
                p++;
        }