static UNUSED void
FatalErrnoError(bool condition, char const msg[]) /*@*/
{
+ extern int wrapper_exit_code;
+
if (!condition) return;
perror(msg);
- extern int wrapper_exit_code;
exit(wrapper_exit_code);
}
return res;
}
+inline static WRAPPER_DECL void
+Ereadlink(const char *path, char *buf, size_t bufsiz)
+{
+ FatalErrnoError(readlink(path, buf, bufsiz)==-1, "readlink()");
+}
+
+inline static WRAPPER_DECL void
+Esymlink(const char *oldpath, const char *newpath)
+{
+ FatalErrnoError(symlink(oldpath, newpath)==-1, "symlink()");
+}
+
+inline static WRAPPER_DECL void
+Eunlink(char const *pathname)
+{
+ FatalErrnoError(unlink(pathname)==-1, "unlink()");
+}
+
+inline static WRAPPER_DECL void
+Egetrlimit(int resource, struct rlimit *rlim)
+{
+ FatalErrnoError(getrlimit(resource, rlim)==-1, "getrlimit()");
+}
+
+inline static WRAPPER_DECL void
+Esetrlimit(int resource, struct rlimit const *rlim)
+{
+ FatalErrnoError(setrlimit(resource, rlim)==-1, "setrlimit()");
+}
+
+
#undef WRAPPER_DECL
#endif // H_UTIL_VSERVER_SRC_WRAPPERS_H