summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bcc0deb)
raw | patch | inline | side by side (parent: bcc0deb)
author | Sebastian Harl <sh@tokkee.org> | |
Thu, 6 Feb 2014 08:23:52 +0000 (09:23 +0100) | ||
committer | Sebastian Harl <sh@tokkee.org> | |
Thu, 6 Feb 2014 08:23:52 +0000 (09:23 +0100) |
src/client/sock.c | patch | blob | history |
diff --git a/src/client/sock.c b/src/client/sock.c
index 042dd63bd99a353764b8176289de65f5276730f8..fd18a1efc689c331df0740feab0f1d4e2a9d3e86 100644 (file)
--- a/src/client/sock.c
+++ b/src/client/sock.c
buf = sdb_strbuf_create(64);
rstatus = 0;
status = sdb_client_recv(client, &rstatus, buf);
+ if ((status > 0) && (rstatus == CONNECTION_OK))
+ return 0;
+
if (status < 0) {
char errbuf[1024];
- sdb_client_close(client);
- sdb_strbuf_destroy(buf);
sdb_log(SDB_LOG_ERR, "Failed to receive server response: %s",
sdb_strerror(errno, errbuf, sizeof(errbuf)));
- return (int)status;
}
+ else if (client->eof)
+ sdb_log(SDB_LOG_ERR, "Encountered end-of-file while waiting "
+ "for server response");
if (rstatus != CONNECTION_OK) {
- sdb_client_close(client);
- sdb_strbuf_destroy(buf);
sdb_log(SDB_LOG_ERR, "Access denied for user '%s'", username);
- return -((int)rstatus);
+ status = -((int)rstatus);
}
- return 0;
+
+ sdb_client_close(client);
+ sdb_strbuf_destroy(buf);
+ return (int)status;
} /* sdb_client_connect */
int