minor patches to enable building for NetWare CLIB.
authorGunter Knauf <gk@gknw.de>
Sat, 30 Jun 2007 20:08:13 +0000 (20:08 +0000)
committerGunter Knauf <gk@gknw.de>
Sat, 30 Jun 2007 20:08:13 +0000 (20:08 +0000)
sent by Dmitry Mityugov.

lib/connect.c
lib/hostip.h
lib/hostip4.c
lib/inet_ntop.c
lib/timeval.c
src/curlutil.c
src/getpass.c
src/main.c

index 0aeaf79..8fbdd86 100644 (file)
 #include <stdlib.h> /* required for free() prototype, without it, this crashes */
 #endif              /* on macos 68K */
 
-#if (defined(HAVE_FIONBIO) && defined(__NOVELL_LIBC__))
+#if (defined(HAVE_FIONBIO) && defined(NETWARE))
 #include <sys/filio.h>
 #endif
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
+#ifdef NETWARE
+#ifndef __NOVELL_LIBC__
+NETDB_DEFINE_CONTEXT
+#endif
 #undef in_addr_t
 #define in_addr_t unsigned long
 #endif
index e6d63ca..199c666 100644 (file)
@@ -26,9 +26,9 @@
 #include "setup.h"
 #include "hash.h"
 
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
+#ifdef NETWARE
 #undef in_addr_t
-#define in_addr_t uint32_t
+#define in_addr_t unsigned long
 #endif
 
 /*
index d092d27..43b7c69 100644 (file)
@@ -284,7 +284,12 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
      * which the gethostbyname() is the preferred() function.
      */
   else {
+#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
+    NETDB_DEFINE_CONTEXT
+    h = gethostbyname((char*)hostname);
+#else
     h = gethostbyname(hostname);
+#endif
     if (!h)
       infof(conn->data, "gethostbyname(2) failed for %s\n", hostname);
 #endif /*HAVE_GETHOSTBYNAME_R */
index a05689a..e81cb5c 100644 (file)
 
 #include "inet_ntop.h"
 
+#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
+NETINET_DEFINE_CONTEXT
+#endif
+
 #if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
 /* this platform has a inet_ntoa_r() function, but no proto declared anywhere
    so we include our own proto to make compilers happy */
index bb9c0a1..a2e9665 100644 (file)
@@ -68,6 +68,9 @@ static int gettimeofday(struct timeval *tp, void *nothing)
 }
 #else /* WIN32 */
 /* non-win32 version of Curl_gettimeofday() */
+#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
+#include <sys/timeval.h>
+#endif
 static int gettimeofday(struct timeval *tp, void *nothing)
 {
   (void)nothing; /* we don't support specific time-zones */
index 0394d80..2bb3f8e 100644 (file)
@@ -70,6 +70,9 @@ static int gettimeofday(struct timeval *tp, void *nothing)
 }
 #else /* WIN32 */
 /* non-win32 version of Curl_gettimeofday() */
+#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
+#include <sys/timeval.h>
+#endif
 static int gettimeofday(struct timeval *tp, void *nothing)
 {
   (void)nothing; /* we don't support specific time-zones */
index 93b061f..244b29b 100644 (file)
@@ -126,11 +126,31 @@ char *getpass_r(const char *prompt, char *buffer, size_t buflen)
 
 #ifdef NETWARE
 /* NetWare implementation */
+#ifdef __NOVELL_LIBC__
 #include <screen.h>
 char *getpass_r(const char *prompt, char *buffer, size_t buflen)
 {
   return getpassword(prompt, buffer, buflen);
 }
+#else
+#include <nwconio.h>
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  int i = 0;
+  int c;
+
+  printf("%s", prompt);
+  do {
+    c = getch();
+    if (c != 13) {
+      buffer[i] = c;
+      i++;
+      printf("%s", "*");
+    }
+  } while ((c != 13) && (i < buflen));
+  return buffer;
+}
+#endif /* __NOVELL_LIBC__ */
 #define DONE
 #endif /* NETWARE */
 
index 7161621..1869ce1 100644 (file)
 
 #define CURLseparator   "--_curl_--"
 
+#ifdef NETWARE
 #ifdef __NOVELL_LIBC__
 #include <screen.h>
+#else
+#include <nwconio.h>
+#define mkdir mkdir_510
+#endif
 #endif
 
 #include "version.h"
@@ -731,7 +736,7 @@ static void help(void)
   };
   for(i=0; helptext[i]; i++) {
     puts(helptext[i]);
-#ifdef __NOVELL_LIBC__
+#ifdef NETWARE
     if (i && ((i % 23) == 0))
       pressanykey();
 #endif