summaryrefslogtreecommitdiff
path: root/main/php_open_temporary_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/php_open_temporary_file.c')
-rw-r--r--main/php_open_temporary_file.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/main/php_open_temporary_file.c b/main/php_open_temporary_file.c
index 8ceb4be306..9911a69233 100644
--- a/main/php_open_temporary_file.c
+++ b/main/php_open_temporary_file.c
@@ -29,6 +29,19 @@
#define O_RDONLY _O_RDONLY
#include "win32/param.h"
#include "win32/winutil.h"
+#elif defined(NETWARE)
+#ifdef USE_WINSOCK
+/*#include <ws2nlm.h>*/
+#include <novsock2.h>
+#else
+#include <sys/socket.h>
+#endif
+#ifdef NEW_LIBC
+#include <sys/param.h>
+#else
+#include "netware/param.h"
+#endif
+#include "netware/mktemp.h"
#else
#include <sys/param.h>
#include <sys/socket.h>
@@ -95,6 +108,9 @@ static FILE *php_do_open_temporary_file(const char *path, const char *pfx, char
#ifndef PHP_WIN32
int fd;
#endif
+#ifdef NETWARE
+ char *file_path = NULL;
+#endif
if (!path) {
return NULL;
@@ -118,6 +134,14 @@ static FILE *php_do_open_temporary_file(const char *path, const char *pfx, char
} else {
fp = NULL;
}
+#elif defined(NETWARE)
+ /* Using standard mktemp() implementation for NetWare */
+ file_path = mktemp(opened_path);
+ if (file_path) {
+ fp = VCWD_FOPEN(file_path, "wb");
+ } else {
+ fp = NULL;
+ }
#elif defined(HAVE_MKSTEMP)
fd = mkstemp(opened_path);
if (fd==-1) {