only use fstatat and others legacy stat syscalls if they exist
[musl] / src / linux / inotify.c
index d3b4fa0..df5e48b 100644 (file)
@@ -1,13 +1,18 @@
 #include <sys/inotify.h>
+#include <errno.h>
 #include "syscall.h"
 
 int inotify_init()
 {
-       return syscall(SYS_inotify_init);
+       return inotify_init1(0);
 }
 int inotify_init1(int flags)
 {
-       return syscall(SYS_inotify_init1, flags);
+       int r = __syscall(SYS_inotify_init1, flags);
+#ifdef SYS_inotify_init
+       if (r==-ENOSYS && !flags) r = __syscall(SYS_inotify_init);
+#endif
+       return __syscall_ret(r);
 }
 
 int inotify_add_watch(int fd, const char *pathname, uint32_t mask)
@@ -15,7 +20,7 @@ int inotify_add_watch(int fd, const char *pathname, uint32_t mask)
        return syscall(SYS_inotify_add_watch, fd, pathname, mask);
 }
 
-int inotify_rm_watch(int fd, uint32_t wd)
+int inotify_rm_watch(int fd, int wd)
 {
        return syscall(SYS_inotify_rm_watch, fd, wd);
 }