index 8d7123a1beb13ab77956403659c8be8d81bfdc01..a146e29711c3aa1cc4de78f59672d43ee52091e6 100644 (file)
return -1;
}
- /* reset */
- sdb_strbuf_sprintf(conn->errbuf, "");
-
switch (conn->cmd) {
case CONNECTION_PING:
status = sdb_connection_ping(conn);
assert(conn && (conn->cmd == CONNECTION_IDLE) && (! conn->cmd_len));
+ /* reset */
+ sdb_strbuf_sprintf(conn->errbuf, "");
+
conn->cmd = connection_get_int32(conn, 0);
conn->cmd_len = connection_get_int32(conn, sizeof(uint32_t));
len = 2 * sizeof(uint32_t);
- if (conn->cmd == CONNECTION_IDLE)
+ if (conn->cmd == CONNECTION_IDLE) {
len += conn->cmd_len;
+ conn->cmd_len = 0;
+ }
sdb_strbuf_skip(conn->buf, 0, len);
return 0;
} /* command_init */