summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/smbwrapper/wrapped.c5
-rw-r--r--source/smbwrapper/wrapper.h6
2 files changed, 9 insertions, 2 deletions
diff --git a/source/smbwrapper/wrapped.c b/source/smbwrapper/wrapped.c
index 502a2a9113b..50f78ce0056 100644
--- a/source/smbwrapper/wrapped.c
+++ b/source/smbwrapper/wrapped.c
@@ -622,8 +622,9 @@ __asm__(".globl _write; _write = write");
}
#endif
+#ifndef LINUX
int creat(const char *path, mode_t mode)
{
- /* drat, including sys/fcntl.h gives conflicts */
- return open(path, 01101, mode);
+ return open(path, O_WRONLY|O_CREAT|O_TRUNC, mode);
}
+#endif
diff --git a/source/smbwrapper/wrapper.h b/source/smbwrapper/wrapper.h
index fec400a7241..3eccdcac1e0 100644
--- a/source/smbwrapper/wrapper.h
+++ b/source/smbwrapper/wrapper.h
@@ -31,6 +31,12 @@
#include <sys/acl.h>
#endif
+#ifndef LINUX
+#ifdef HAVE_SYS_FCNTL_H
+#include <sys/fcntl.h>
+#endif
+#endif
+
#include <stdio.h>
#include <dirent.h>
#include <errno.h>