From: Alex Riesen Date: Tue, 06 Dec 2005 08:07:04 GMT Subject: Re: [PATCH] Clean up compatibility definitions. Message-ID: <81b0412b0512060007s589e1d0dr4f47da68a7f3567a@mail.gmail.com> In-Reply-To: <7vk6ei65r6.fsf@assigned-by-dhcp.cox.net> On 12/6/05, Junio C Hamano wrote: > > ... return MAP_FAILED if error, do not > > exit process, do no output. > Ah, that is what you meant. I agree. now, while we agree, how about the patch removing "user interface" from gitfakemmap altogether? The patch is not really tested (running tests is not useful in this case), but I looked over the call sites, and they seem either to handle mmap's or the previous open's return values. One exception is in config.c where neither is handled, the code will race between stat and open. Signed-off-by: Alex Riesen cleanup mmap fake. No need to output anything, callers handle the return value Signed-off-by: Alex Riesen --- compat/mmap.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) 311da12b7aaca9b7329a07807e1ce4afba4bff77 diff --git a/compat/mmap.c b/compat/mmap.c index 55cb120..32d7a30 100644 --- a/compat/mmap.c +++ b/compat/mmap.c @@ -8,15 +8,17 @@ void *gitfakemmap(void *start, size_t le { int n = 0; - if (start != NULL || !(flags & MAP_PRIVATE)) - die("Invalid usage of gitfakemmap."); + if (start != NULL || !(flags & MAP_PRIVATE)) { + errno = ENOTSUP; + return MAP_FAILED; + } if (lseek(fd, offset, SEEK_SET) < 0) { errno = EINVAL; return MAP_FAILED; } - start = xmalloc(length); + start = malloc(length); if (start == NULL) { errno = ENOMEM; return MAP_FAILED; -- 0.99.9.GIT