- Undid fix for ssl_write that introduced a true bug when buffers are running full.

diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 47723cc..7f82fa0 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2164,6 +2164,9 @@
         }
     }
 
+    n = ( len < SSL_MAX_CONTENT_LEN )
+        ? len : SSL_MAX_CONTENT_LEN;
+
     if( ssl->out_left != 0 )
     {
         if( ( ret = ssl_flush_output( ssl ) ) != 0 )
@@ -2172,18 +2175,17 @@
             return( ret );
         }
     }
-
-    n = ( len < SSL_MAX_CONTENT_LEN )
-        ? len : SSL_MAX_CONTENT_LEN;
-
-    ssl->out_msglen  = n;
-    ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
-    memcpy( ssl->out_msg, buf, n );
-
-    if( ( ret = ssl_write_record( ssl ) ) != 0 )
+    else
     {
-        SSL_DEBUG_RET( 1, "ssl_write_record", ret );
-        return( ret );
+        ssl->out_msglen  = n;
+        ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
+        memcpy( ssl->out_msg, buf, n );
+
+        if( ( ret = ssl_write_record( ssl ) ) != 0 )
+        {
+            SSL_DEBUG_RET( 1, "ssl_write_record", ret );
+            return( ret );
+        }
     }
 
     SSL_DEBUG_MSG( 2, ( "<= write" ) );