From c31174ebb1af64be4ef295169418f8fa30d41a34 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Tue, 7 Aug 2012 14:05:28 -0700 Subject: [PATCH] Refresh of fstat --- src/preload.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/preload.c b/src/preload.c index 33eb9a32..53f85432 100644 --- a/src/preload.c +++ b/src/preload.c @@ -84,7 +84,7 @@ struct socket_calls { void *optval, socklen_t *optlen); int (*fcntl)(int socket, int cmd, ... /* arg */); int (*dup2)(int oldfd, int newfd); - int (*fstat)(int fd, struct stat *buf); + int (*fxstat64)(int ver, int fd, struct stat64 *buf); }; static struct socket_calls real; @@ -260,7 +260,7 @@ static void init_preload(void) real.getsockopt = dlsym(RTLD_NEXT, "getsockopt"); real.fcntl = dlsym(RTLD_NEXT, "fcntl"); real.dup2 = dlsym(RTLD_NEXT, "dup2"); - real.fstat = dlsym(RTLD_NEXT, "fstat"); + real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64"); rs.socket = dlsym(RTLD_DEFAULT, "rsocket"); rs.bind = dlsym(RTLD_DEFAULT, "rbind"); @@ -964,16 +964,16 @@ int dup2(int oldfd, int newfd) return newfd; } -int fstat(int socket, struct stat *buf) +int __fxstat64(int ver, int socket, struct stat64 *buf) { int fd, ret; if (fd_get(socket, &fd) == fd_rsocket) { - ret = real.fstat(socket, buf); + ret = real.fxstat64(ver, socket, buf); if (!ret) buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK; } else { - ret = real.fstat(fd, buf); + ret = real.fxstat64(ver, fd, buf); } return ret; } -- 2.45.2