diff --git a/src/fileops.c b/src/fileops.c index b3715dc1a..f101cec32 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -61,7 +61,7 @@ int gitfo_exists(const char *path) off_t gitfo_size(git_file fd) { struct stat sb; - if (fstat(fd, &sb)) + if (gitfo_fstat(fd, &sb)) return git_os_error(); return sb.st_size; } diff --git a/src/fileops.h b/src/fileops.h index dc5b2ce5d..2da4231d0 100644 --- a/src/fileops.h +++ b/src/fileops.h @@ -61,12 +61,16 @@ extern int gitfo_creat(const char *path, int mode); extern int gitfo_read(git_file fd, void *buf, size_t cnt); extern int gitfo_write(git_file fd, void *buf, size_t cnt); +#define gitfo_lseek(f,n,w) lseek(f, n, w) extern off_t gitfo_size(git_file fd); extern int gitfo_read_file(gitfo_buf *obj, const char *path); extern void gitfo_free_buf(gitfo_buf *obj); extern int gitfo_move_file(char *from, char *to); +#define gitfo_stat(p,b) stat(p, b) +#define gitfo_fstat(f,b) fstat(f, b) + #define gitfo_unlink(p) unlink(p) #define gitfo_rmdir(p) rmdir(p) #define gitfo_chdir(p) chdir(p) diff --git a/src/odb.c b/src/odb.c index 58840c6f7..8157f9e57 100644 --- a/src/odb.c +++ b/src/odb.c @@ -1016,7 +1016,7 @@ static int pack_stat(git_pack *p) p->pack_name) < 0) return GIT_ERROR; - if (stat(pb, &sb) || !S_ISREG(sb.st_mode)) + if (gitfo_stat(pb, &sb) || !S_ISREG(sb.st_mode)) return GIT_ERROR; if (sb.st_size < (3 * 4 + GIT_OID_RAWSZ))