summaryrefslogtreecommitdiffstats
path: root/lib/libtdekrb/src/tdekrbclientsocket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libtdekrb/src/tdekrbclientsocket.cpp')
-rw-r--r--lib/libtdekrb/src/tdekrbclientsocket.cpp12
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) {