X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Foverride.c;h=42b52ab7015c6d934b10886610ede53983239adb;hp=5a101932f5247b958750d1368060d01a0d5a5120;hb=4d0451847a77d420284c7fb0f50b1f167c1118ee;hpb=7fd42181a7f66b4403076cd9de98e18140a7eaf8 diff --git a/loader/override.c b/loader/override.c index 5a10193..42b52ab 100644 --- a/loader/override.c +++ b/loader/override.c @@ -1,6 +1,7 @@ // vim:shiftwidth=2:expandtab #include #include +#include #include #include #include @@ -167,6 +168,7 @@ static UNUSED int w_system(const char *command) /* wrapper to real functions, to be set up on load */ \ static typeof(sym) *p_real_##sym +// note: update symver too MAKE_WRAP_SYM(open); MAKE_WRAP_SYM(fopen); MAKE_WRAP_SYM(mmap); @@ -212,8 +214,14 @@ static const struct { #endif // just call real funcs for static, pointer for dynamic -int real_open(const char *pathname, int flags, mode_t mode) +int real_open(const char *pathname, int flags, ...) { + va_list ap; + mode_t mode; + + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); return open(pathname, flags, mode); }