fix error log message
authorAndre <maan@p133.(none)>
Sat, 6 May 2006 15:24:16 +0000 (17:24 +0200)
committerAndre <maan@p133.(none)>
Sat, 6 May 2006 15:24:16 +0000 (17:24 +0200)
Also, make recv_buffer() write a zero even if the underlying recv_bin_buffer()
failed.

net.c

diff --git a/net.c b/net.c
index bf35162..d4472c0 100644 (file)
--- a/net.c
+++ b/net.c
@@ -189,8 +189,11 @@ int recv_buffer(int fd, char *buf, ssize_t size)
 {
        int n;
 
-       if ((n = recv_bin_buffer(fd, buf, size - 1)) >= 0)
+       n = recv_bin_buffer(fd, buf, size - 1);
+       if (n >= 0)
                buf[n] = '\0';
+       else
+               *buf = '\0';
        return n;
 }
 
@@ -514,8 +517,8 @@ int recv_pattern(int fd, const char *pattern, size_t bufsize)
                goto out;
        ret = 1;
 out:
-       free(buf);
        if (ret < 0)
-               PARA_NOTICE_LOG("did not receive pattern '%s'\n", buf);
+               PARA_NOTICE_LOG("did not receive pattern '%s'\n", pattern);
+       free(buf);
        return ret;
 }