]> granicus.if.org Git - php/commitdiff
NetWare related changes/modifications
authorAnantha Kesari H Y <hyanantha@php.net>
Wed, 11 Sep 2002 09:30:01 +0000 (09:30 +0000)
committerAnantha Kesari H Y <hyanantha@php.net>
Wed, 11 Sep 2002 09:30:01 +0000 (09:30 +0000)
main/reentrancy.c

index d5f49097609ce1bbac5509b2508803e840390592..73e3b8eb8d516aa25d260c9feb6358512a8970d2 100644 (file)
 #include "win32/readdir.h"
 #endif
 
+#if defined(NETWARE) && !(NEW_LIBC)
+/*#include <ws2nlm.h>*/
+#include <sys/socket.h>
+#endif
+
 #include "php_reentrancy.h"
 #include "ext/standard/php_rand.h"                   /* for RAND_MAX */
 
@@ -114,6 +119,51 @@ PHPAPI struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm)
 
 #endif
 
+#if defined(NETWARE)
+/*
+   Re-entrant versions of functions seem to be better for loading NLMs in different address space.
+   Since we have them now in LibC, we might as well make use of them.
+*/
+
+#define HAVE_LOCALTIME_R 1
+#define HAVE_CTIME_R 1
+#define HAVE_ASCTIME_R 1
+#define HAVE_GMTIME_R 1
+
+PHPAPI struct tm *php_localtime_r(const time_t *const timep, struct tm *p_tm)
+{
+    /* Modified according to LibC definition */
+       if (localtime_r(timep, p_tm) != NULL)
+               return (p_tm);
+       return (NULL);
+}
+
+PHPAPI char *php_ctime_r(const time_t *clock, char *buf)
+{
+    /* Modified according to LibC definition */
+       if (ctime_r(clock, buf) != NULL)
+               return (buf);
+       return (NULL);
+}
+
+PHPAPI char *php_asctime_r(const struct tm *tm, char *buf)
+{
+    /* Modified according to LibC definition */
+       if (asctime_r(tm, buf) != NULL)
+               return (buf);
+       return (NULL);
+}
+
+PHPAPI struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm)
+{
+    /* Modified according to LibC definition */
+       if (gmtime_r(timep, p_tm) != NULL)
+               return (p_tm);
+       return (NULL);
+}
+
+#endif /* NETWARE */
+
 #if !defined(HAVE_POSIX_READDIR_R)
 
 PHPAPI int php_readdir_r(DIR *dirp, struct dirent *entry,