From fc3c3a2083e9f6f89e6bd53e9420e70d1e357c9b Mon Sep 17 00:00:00 2001 From: Ramsay Jones Date: Wed, 18 Feb 2009 18:50:36 +0000 Subject: [PATCH] Avoid using a gcc compiler language extension In particular, using pointer arithmetic on void pointers, despite being quite useful, is not legal in standard C. Avoiding non-standard C constructs will help in porting the library to other compilers/platforms. Signed-off-by: Ramsay Jones Signed-off-by: Shawn O. Pearce --- src/fileops.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fileops.c b/src/fileops.c index f494e4772..8cc293419 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -125,7 +125,7 @@ void gitfo_free_map(gitfo_map *out) struct gitfo_cache { git_file fd; unsigned int cache_size, pos; - void *cache; + unsigned char *cache; }; gitfo_cache *gitfo_enable_caching(git_file fd, size_t cache_size) @@ -165,8 +165,10 @@ int gitfo_flush_cached(gitfo_cache *ioc) return result; } -int gitfo_write_cached(gitfo_cache *ioc, void *buf, size_t len) +int gitfo_write_cached(gitfo_cache *ioc, void *buff, size_t len) { + unsigned char *buf = buff; + for (;;) { size_t space_left = ioc->cache_size - ioc->pos; /* cache if it's small */