Changes for VOS, submitted by Paul Green <Paul.Green@stratus.com>.
[openssl.git] / apps / s_client.c
index 294aad8b59675a1d6d7ecc9e6fd9cf75a10db171..f04080e075e38b7af47a763888321879af8d8ce2 100644 (file)
@@ -256,7 +256,7 @@ int MAIN(int argc, char **argv)
        char *engine_id=NULL;
        ENGINE *e=NULL;
 #endif
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
        struct timeval tv;
 #endif
 
@@ -640,7 +640,7 @@ re_start:
 
                if (!ssl_pending)
                        {
-#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS)
+#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE)
                        if (tty_on)
                                {
                                if (read_tty)  FD_SET(fileno(stdin),&readfds);
@@ -690,6 +690,16 @@ re_start:
                                } else  i=select(width,(void *)&readfds,(void *)&writefds,
                                         NULL,NULL);
                        }
+#elif defined(OPENSSL_SYS_NETWARE)
+                       if(!write_tty) {
+                               if(read_tty) {
+                                       tv.tv_sec = 1;
+                                       tv.tv_usec = 0;
+                                       i=select(width,(void *)&readfds,(void *)&writefds,
+                                               NULL,&tv);
+                               } else  i=select(width,(void *)&readfds,(void *)&writefds,
+                                       NULL,NULL);
+                       }
 #else
                        i=select(width,(void *)&readfds,(void *)&writefds,
                                 NULL,NULL);
@@ -770,7 +780,7 @@ re_start:
                                goto shut;
                                }
                        }
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
                /* Assume Windows/DOS can always write */
                else if (!ssl_pending && write_tty)
 #else
@@ -857,6 +867,8 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240
 #else
                else if ((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0)))
 #endif
+#elif defined (OPENSSL_SYS_NETWARE)
+        else if (_kbhit())
 #else
                else if (FD_ISSET(fileno(stdin),&readfds))
 #endif