Commit 450ac186f905a9c821671147bb2cb8ee8b08ac26

Jakob Pfender 2011-05-19T15:29:22

unix/map.c: Move to new error handling mechanism

diff --git a/src/unix/map.c b/src/unix/map.c
index 4780bd2..9bc6178 100644
--- a/src/unix/map.c
+++ b/src/unix/map.c
@@ -13,7 +13,7 @@ int git__mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t o
 
 	if ((out == NULL) || (len == 0)) {
 		errno = EINVAL;
-		return GIT_ERROR;
+		return git__throw(GIT_ERROR, "Failed to mmap. No map or zero length");
 	}
 
 	out->data = NULL;
@@ -25,7 +25,7 @@ int git__mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t o
 		mprot = PROT_READ;
 	else {
 		errno = EINVAL;
-		return GIT_ERROR;
+		return git__throw(GIT_ERROR, "Failed to mmap. Invalid protection parameters");
 	}
 
 	if ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)
@@ -35,12 +35,12 @@ int git__mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t o
 
 	if (flags & GIT_MAP_FIXED) {
 		errno = EINVAL;
-		return GIT_ERROR;
+		return git__throw(GIT_ERROR, "Failed to mmap. FIXED not set");
 	}
 
 	out->data = mmap(NULL, len, mprot, mflag, fd, offset);
 	if (!out->data || out->data == MAP_FAILED)
-		return GIT_EOSERR;
+		return git__throw(GIT_EOSERR, "Failed to mmap. Could not write data");
 	out->len = len;
 
 	return GIT_SUCCESS;
@@ -51,7 +51,7 @@ int git__munmap(git_map *map)
 	assert(map != NULL);
 
 	if (!map)
-		return GIT_ERROR;
+		return git__throw(GIT_ERROR, "Failed to munmap. Map does not exist");
 
 	munmap(map->data, map->len);