2004-03-21 Kenichi Okada <okada@opaopa.org>
[elisp/starttls.git] / starttls.c
index 4c95786..f0d61ce 100644 (file)
@@ -344,6 +344,7 @@ main (argc, argv)
       if (FD_ISSET (tls_fd, &readfds))
 #endif
        {
+readtop:
          if (tls_conn)
            nbuffer = SSL_read (tls_conn, buffer, sizeof buffer -1);
          else
@@ -367,6 +368,8 @@ main (argc, argv)
              wrote = write (out, retry, nbuffer);
              if (wrote < 0) goto finish;
            }
+         if (tls_conn && SSL_pending(tls_conn))
+           goto readtop;
        }
     }