diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index e1f00424fc28368e83acc2a59c2a294a21570b06..f26fb7ebdaac5f50f2e6c9585f6db2cbafb0f76a 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -108,7 +108,7 @@ static int do_cryptAttributeString(const CRYPT_CONTEXT session, CRYPT_ATTRIBUTE_ } \ } while(0) -static void do_CryptFlush(js_socket_private_t *p) +static bool do_CryptFlush(js_socket_private_t *p) { int ret; char *estr; @@ -118,10 +118,12 @@ static void do_CryptFlush(js_socket_private_t *p) if(ret==CRYPT_OK) { p->unflushed = 0; + return true; } - else - GCES(ret, p, estr, "flushing data"); + GCES(ret, p, estr, "flushing data"); + return false; } + return true; } static void do_js_close(js_socket_private_t *p) @@ -201,7 +203,8 @@ static ptrdiff_t js_socket_sendsocket(js_socket_private_t *p, const void *msg, s do { if((ret=cryptPushData(p->session, msg, len, &copied))==CRYPT_OK) { p->unflushed += copied; - if(flush) do_CryptFlush(p); + if(flush) + do_CryptFlush(p); if(p->nonblocking) return copied; total += copied; @@ -213,13 +216,15 @@ static ptrdiff_t js_socket_sendsocket(js_socket_private_t *p, const void *msg, s } else { GCES(ret, p, estr, "pushing data"); - if(flush) do_CryptFlush(p); + if(flush) + do_CryptFlush(p); return total; } if(!socket_check(p->sock,NULL,NULL,0)) break; } while(len); - if(flush) do_CryptFlush(p); + if(flush) + do_CryptFlush(p); return total; }