Ereadlink*(): return the count of written chars
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 27 Aug 2004 08:57:08 +0000 (08:57 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 27 Aug 2004 08:57:08 +0000 (08:57 +0000)
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

index 908fee9..9a3d95f 100644 (file)
@@ -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