diff options
author | Wayne Davison <wayned@samba.org> | 2005-01-01 21:08:07 +0000 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2005-01-01 21:08:07 +0000 |
commit | 7aac6604c4642b93b619ac03c56e9877437bcce3 (patch) | |
tree | 10ee15705a1fc6fbfc94752753d6d9789e65edc0 /fileio.c | |
parent | deb5bf1dffcfc0507befb1c5fa61d16dea607048 (diff) | |
download | android_external_rsync-7aac6604c4642b93b619ac03c56e9877437bcce3.tar.gz android_external_rsync-7aac6604c4642b93b619ac03c56e9877437bcce3.tar.bz2 android_external_rsync-7aac6604c4642b93b619ac03c56e9877437bcce3.zip |
- Use an int32 for the each block-size variable.
- Renamed the local block_size arg to blk_size (to avoid
confusion with the global block_size variable).
Diffstat (limited to 'fileio.c')
-rw-r--r-- | fileio.c | 20 |
1 files changed, 8 insertions, 12 deletions
@@ -144,15 +144,15 @@ int write_file(int f,char *buf,size_t len) * the possibility of another program (such as a mailer) truncating the * file thus giving us a SIGBUS. */ struct map_struct *map_file(int fd, OFF_T len, OFF_T map_size, - size_t block_size) + int32 blk_size) { struct map_struct *map; if (!(map = new(struct map_struct))) out_of_memory("map_file"); - if (block_size && (map_size % block_size)) - map_size += block_size - (map_size % block_size); + if (blk_size && (map_size % blk_size)) + map_size += blk_size - (map_size % blk_size); memset(map, 0, sizeof map[0]); map->fd = fd; @@ -164,7 +164,7 @@ struct map_struct *map_file(int fd, OFF_T len, OFF_T map_size, /* slide the read window in the file */ -char *map_ptr(struct map_struct *map,OFF_T offset,int len) +char *map_ptr(struct map_struct *map, OFF_T offset, int32 len) { int nread; OFF_T window_start, read_start; @@ -174,15 +174,12 @@ char *map_ptr(struct map_struct *map,OFF_T offset,int len) return NULL; /* can't go beyond the end of file */ - if (len > (map->file_size - offset)) { + if (len > map->file_size - offset) len = map->file_size - offset; - } /* in most cases the region will already be available */ - if (offset >= map->p_offset && - offset+len <= map->p_offset+map->p_len) { - return (map->p + (offset - map->p_offset)); - } + if (offset >= map->p_offset && offset+len <= map->p_offset+map->p_len) + return map->p + (offset - map->p_offset); /* nope, we are going to have to do a read. Work out our desired window */ window_start = offset; @@ -190,9 +187,8 @@ char *map_ptr(struct map_struct *map,OFF_T offset,int len) if (window_start + window_size > map->file_size) { window_size = map->file_size - window_start; } - if (offset + len > window_start + window_size) { + if (offset + len > window_start + window_size) window_size = (offset+len) - window_start; - } /* make sure we have allocated enough memory for the window */ if (window_size > map->p_size) { |