X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemcapable.cc;h=9bd310c524dd563c482ecaa3f7a200c8c8de3637;hb=fabf488ffa687540145ca8973ceb3fb0147a858b;hp=2d82f30062b5e79f45968f7c3a706c5b21ad43ce;hpb=956d15b5b1f3f3518eb374a3a9e0393e9dacd3b6;p=m6w6%2Flibmemcached diff --git a/clients/memcapable.cc b/clients/memcapable.cc index 2d82f300..9bd310c5 100644 --- a/clients/memcapable.cc +++ b/clients/memcapable.cc @@ -33,7 +33,8 @@ #include #include -#include +#include +#include #include #include #include @@ -132,7 +133,7 @@ static memcached_socket_t set_noblock(void) if (flags == -1) { perror("Failed to get socket flags"); - closesocket(sock); + memcached_close_socket(sock); return INVALID_SOCKET; } @@ -141,7 +142,7 @@ static memcached_socket_t set_noblock(void) if (fcntl(sock, F_SETFL, flags | O_NONBLOCK) == -1) { perror("Failed to set socket to nonblocking mode"); - closesocket(sock); + memcached_close_socket(sock); return INVALID_SOCKET; } } @@ -1335,7 +1336,10 @@ static enum test_return ascii_get_unknown_value(char **key, char **value, ssize_ verify(strncmp(buffer, "VALUE ", 6) == 0); char *end= strchr(buffer + 6, ' '); verify(end != NULL); - *end= '\0'; + if (end) + { + *end= '\0'; + } *key= strdup(buffer + 6); verify(*key != NULL); char *ptr= end + 1; @@ -1347,9 +1351,9 @@ static enum test_return ascii_get_unknown_value(char **key, char **value, ssize_ *ndata = (ssize_t)strtoul(end, &end, 10); /* size */ verify(ptr != end); verify(end != NULL); - while (*end != '\n' && isspace(*end)) + while (end and *end != '\n' and isspace(*end)) ++end; - verify(*end == '\n'); + verify(end and *end == '\n'); *value= static_cast(malloc((size_t)*ndata)); verify(*value != NULL); @@ -1383,9 +1387,11 @@ static enum test_return ascii_get_value(const char *key, const char *value) verify(ptr != end); verify(val == datasize); verify(end != NULL); - while (*end != '\n' && isspace(*end)) + while (end and *end != '\n' and isspace(*end)) + { ++end; - verify(*end == '\n'); + } + verify(end and *end == '\n'); execute(retry_read(buffer, datasize)); verify(memcmp(buffer, value, datasize) == 0); @@ -1444,9 +1450,11 @@ static enum test_return ascii_gets_value(const char *key, const char *value, verify(val == datasize); verify(end != NULL); - while (*end != '\n' && isspace(*end)) + while (end and *end != '\n' and isspace(*end)) + { ++end; - verify(*end == '\n'); + } + verify(end and *end == '\n'); execute(retry_read(buffer, datasize)); verify(memcmp(buffer, value, datasize) == 0);