summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbwrapper/realcalls.h10
-rw-r--r--source3/smbwrapper/wrapped.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/source3/smbwrapper/realcalls.h b/source3/smbwrapper/realcalls.h
index cf23aec5b2..0c9bcd69bf 100644
--- a/source3/smbwrapper/realcalls.h
+++ b/source3/smbwrapper/realcalls.h
@@ -31,8 +31,16 @@
#define real_link(fn1, fn2) (syscall(SYS_link, (fn1), (fn2)))
#define real_open(fn,flags,mode) (syscall(SYS_open, (fn), (flags), (mode)))
-#define real_open64(fn,flags,mode) (syscall(SYS_open64, (fn), (flags), (mode)))
+#ifdef SYS_open64
+#define real_open64(fn,flags,mode) (syscall(SYS_open64, (fn), (flags), (mode)))
+#elif HAVE__OPEN64
+#define real_open64(fn,flags,mode) (_open64(fn,flags,mode))
+#define NO_OPEN64_ALIAS
+#elif HAVE___OPEN64
+#define real_open64(fn,flags,mode) (__open64(fn,flags,mode))
+#define NO_OPEN64_ALIAS
+#endif
#ifdef HAVE__OPENDIR
#define real_opendir(fn) (_opendir(fn))
diff --git a/source3/smbwrapper/wrapped.c b/source3/smbwrapper/wrapped.c
index 6bfb465828..e87bd5f1f2 100644
--- a/source3/smbwrapper/wrapped.c
+++ b/source3/smbwrapper/wrapped.c
@@ -76,17 +76,19 @@
}
#endif
+#ifndef NO_OPEN64_ALIAS
#ifdef HAVE__OPEN64
int _open64(const char *name, int flags, mode_t mode)
{
return open64(name, flags, mode);
}
-#elif HAVE___OPEN
+#elif HAVE___OPEN64
int __open64(const char *name, int flags, mode_t mode)
{
return open64(name, flags, mode);
}
#endif
+#endif
#ifdef HAVE_PREAD
ssize_t pread(int fd, void *buf, size_t size, off_t ofs)
@@ -626,7 +628,7 @@
#endif
#ifdef HAVE_UTIMES
- int utimes(const char *name,struct timeval tvp[2])
+ int utimes(const char *name,const struct timeval tvp[2])
{
if (smbw_path(name)) {
return smbw_utimes(name, tvp);