From c859184bb459d9801a394dc44f5b0b0e55453263 Mon Sep 17 00:00:00 2001 From: Vicent Marti Date: Tue, 11 Sep 2012 23:05:24 +0200 Subject: Properly handle p_reads --- src/amiga/map.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/amiga') diff --git a/src/amiga/map.c b/src/amiga/map.c index 2fb065c8b..c601de724 100755 --- a/src/amiga/map.c +++ b/src/amiga/map.c @@ -24,18 +24,15 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs return -1; } - if((out->data = malloc(len))) { - p_lseek(fd, offset, SEEK_SET); - p_read(fd, out->data, len); - } + out->data = malloc(len); + GITERR_CHECK_ALLOC(out->data); - if (!out->data || (out->data == MAP_FAILED)) { - giterr_set(GITERR_OS, "Failed to mmap. Could not write data"); + if (p_lseek(fd, offset, SEEK_SET) < 0 || p_read(fd, out->data, len) != len) + giterr_set(GITERR_OS, "mmap emulation failed"); return -1; } out->len = len; - return 0; } -- cgit v1.2.3