]> code.citadel.org Git - citadel.git/blobdiff - citadel/clientsocket.c
* Changed some instances of 'struct CitContext *CCC = CC;' to 'struct CitContext...
[citadel.git] / citadel / clientsocket.c
index 3a3ac483eb7309ce4fa595f623b60ff8022ff0b5..7220709ba449af9f3ab1c95734b2b1a26035e8b8 100644 (file)
@@ -152,7 +152,7 @@ int socket_read_blob(int *Socket,
                     int bytes, 
                     int timeout)
 {
-       CitContext *CCC=CC;
+       CitContext *CCC = MyContext();
        const char *Error;
        int retval = 0;
 
@@ -177,9 +177,10 @@ int socket_read_blob(int *Socket,
 
 int sock_read_to(int *sock, char *buf, int bytes, int timeout, int keep_reading_until_full)
 {
-       CitContext *CCC=CC;
+       CitContext *CCC = MyContext();
        int rc;
 
+       FlushStrBuf(CCC->MigrateBuf);
        rc = socket_read_blob(sock, 
                              CCC->sMigrateBuf, 
                              bytes, 
@@ -205,10 +206,11 @@ int sock_read_to(int *sock, char *buf, int bytes, int timeout, int keep_reading_
 
 int CtdlSockGetLine(int *sock, StrBuf *Target)
 {
-       CitContext *CCC=CC;
+       CitContext *CCC = MyContext();
        const char *Error;
        int rc;
 
+       FlushStrBuf(Target);
        rc = StrBufTCP_read_buffered_line_fast(Target, 
                                               CCC->sReadBuf,
                                               &CCC->sPos,
@@ -233,9 +235,10 @@ int CtdlSockGetLine(int *sock, StrBuf *Target)
 int sock_getln(int *sock, char *buf, int bufsize)
 {
        int i, retval;
-       CitContext *CCC=CC;
+       CitContext *CCC = MyContext();
        const char *pCh;
 
+       FlushStrBuf(CCC->sMigrateBuf);
        retval = CtdlSockGetLine(sock, CCC->sMigrateBuf);
 
        i = StrLength(CCC->sMigrateBuf);
@@ -255,8 +258,9 @@ int sock_getln(int *sock, char *buf, int bufsize)
        FlushStrBuf(CCC->sMigrateBuf);
        if (retval < 0) {
                safestrncpy(&buf[i], "000", bufsize - i);
+               i += 3;
        }
-       return(retval >= 0);
+       return i;
 }
 
 
@@ -274,7 +278,7 @@ INLINE int sock_read(int *sock, char *buf, int bytes, int keep_reading_until_ful
  * sock_write() - send binary to server.
  * Returns the number of bytes written, or -1 for error.
  */
-int sock_write(int *sock, char *buf, int nbytes)
+int sock_write(int *sock, const char *buf, int nbytes)
 {
        int bytes_written = 0;
        int retval;