diff options
Diffstat (limited to 'lib/libtdekrb/src/tdekrbclientsocket.cpp')
-rw-r--r-- | lib/libtdekrb/src/tdekrbclientsocket.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/libtdekrb/src/tdekrbclientsocket.cpp b/lib/libtdekrb/src/tdekrbclientsocket.cpp index c1cade8..02bee4d 100644 --- a/lib/libtdekrb/src/tdekrbclientsocket.cpp +++ b/lib/libtdekrb/src/tdekrbclientsocket.cpp @@ -269,7 +269,7 @@ int TDEKerberosClientSocket::ungetch(int ch) { } TQ_ULONG TDEKerberosClientSocket::bytesAvailable() const { - bool ret; + TQ_ULONG ret; if (kerberosStatus() == KerberosInUse) { ret = m_bufferLength; @@ -283,9 +283,9 @@ TQ_ULONG TDEKerberosClientSocket::bytesAvailable() const { int TDEKerberosClientSocket::processPendingData() { if (kerberosStatus() == KerberosInUse) { - int reclen; - int wrlen; - if (m_bufferLength <= 0) { + while (TQSocket::canReadLine()) { + int reclen; + int wrlen; char* buf = (char*)malloc(m_negotiatedMaxBufferSize); reclen = receiveEncryptedData(buf, m_negotiatedMaxBufferSize); if (reclen < 0) { @@ -662,7 +662,7 @@ int TDEKerberosClientSocket::transmitEncryptedData(const char* readbuf, int cc) } } - return 0; + return cc; } int TDEKerberosClientSocket::receiveEncryptedData(char *buf, unsigned int trunclen, bool shouldblock) { @@ -707,7 +707,7 @@ TDEKerberosClientSocket::KerberosStatus TDEKerberosClientSocket::kerberosStatus( } bool TDEKerberosClientSocket::canReadData() { - return TQSocket::canReadLine(); + return (TQSocket::canReadLine() || (m_bufferLength > 0)); } void TDEKerberosClientSocket::setStatusMessage(TQString message) { |