From e03285272fa05d443dcbd0108001a19feea4654b Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Fri, 27 Aug 2004 08:57:08 +0000 Subject: [PATCH] Ereadlink*(): return the count of written chars git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1680 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/ensc_wrappers/wrappers-unistd.hc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/util-vserver/ensc_wrappers/wrappers-unistd.hc b/util-vserver/ensc_wrappers/wrappers-unistd.hc index 908fee9..9a3d95f 100644 --- a/util-vserver/ensc_wrappers/wrappers-unistd.hc +++ b/util-vserver/ensc_wrappers/wrappers-unistd.hc @@ -100,17 +100,23 @@ Ewrite(int fd, void const *ptr, size_t len) return res; } -inline static WRAPPER_DECL void +inline static WRAPPER_DECL size_t Ereadlink(const char *path, char *buf, size_t bufsiz) { - FatalErrnoError(readlink(path, buf, bufsiz)==-1, "readlink()"); + size_t res = readlink(path, buf, bufsiz); + FatalErrnoError((ssize_t)(res)==-1, "readlink()"); + + return res; } -inline static WRAPPER_DECL void +inline static WRAPPER_DECL size_t EreadlinkD(const char *path, char *buf, size_t bufsiz) { + size_t res = readlink(path, buf, bufsiz); ENSC_DETAIL1(msg, "readlink", path, 1); - FatalErrnoError(readlink(path, buf, bufsiz)==-1, msg); + FatalErrnoError((ssize_t)(res)==-1, msg); + + return res; } inline static WRAPPER_DECL void -- 1.8.1.5