diff options
Diffstat (limited to 'src/unix/map.c')
-rw-r--r-- | src/unix/map.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/unix/map.c b/src/unix/map.c index 3d0cbbaf8..0a235d5a1 100644 --- a/src/unix/map.c +++ b/src/unix/map.c @@ -13,9 +13,15 @@ #include <unistd.h> #include <errno.h> -long git__page_size(void) +int git__page_size(size_t *page_size) { - return sysconf(_SC_PAGE_SIZE); + long sc_page_size = sysconf(_SC_PAGE_SIZE); + if (sc_page_size < 0) { + giterr_set_str(GITERR_OS, "Can't determine system page size"); + return -1; + } + *page_size = (size_t) sc_page_size; + return 0; } int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset) |