X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fhosts.cc;h=89896e85c50a1071315eb9ce39749920eff25bbd;hb=a5f039742fa3d25829d788edff0e84bdc41401f7;hp=4c419b02549a1c030d27f9719bdc38ae413b7a05;hpb=7be0a24db49a94fbadb7bc211b9f581689d80b07;p=m6w6%2Flibmemcached diff --git a/libmemcached/hosts.cc b/libmemcached/hosts.cc index 4c419b02..89896e85 100644 --- a/libmemcached/hosts.cc +++ b/libmemcached/hosts.cc @@ -246,7 +246,8 @@ static memcached_return_t update_continuum(memcached_st *ptr) if (sort_host_length >= MEMCACHED_MAX_HOST_SORT_LENGTH || sort_host_length < 0) { - return MEMCACHED_FAILURE; + return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT, + memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)")); } #ifdef DEBUG printf("update_continuum: key is %s\n", sort_host); @@ -298,7 +299,8 @@ static memcached_return_t update_continuum(memcached_st *ptr) if (sort_host_length >= MEMCACHED_MAX_HOST_SORT_LENGTH || sort_host_length < 0) { - return MEMCACHED_FAILURE; + return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT, + memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)")); } WATCHPOINT_ASSERT(sort_host_length); @@ -344,7 +346,9 @@ static memcached_return_t update_continuum(memcached_st *ptr) memcached_return_t memcached_server_push(memcached_st *ptr, const memcached_server_list_st list) { if (not list) + { return MEMCACHED_SUCCESS; + } uint32_t count= memcached_server_list_count(list); @@ -362,8 +366,7 @@ memcached_return_t memcached_server_push(memcached_st *ptr, const memcached_serv memcached_server_write_instance_st instance; if ((ptr->flags.use_udp && list[x].type != MEMCACHED_CONNECTION_UDP) - or ((list[x].type == MEMCACHED_CONNECTION_UDP) - and ! (ptr->flags.use_udp)) ) + or ((list[x].type == MEMCACHED_CONNECTION_UDP) and not (ptr->flags.use_udp)) ) { return MEMCACHED_INVALID_HOST_PROTOCOL; } @@ -374,8 +377,8 @@ memcached_return_t memcached_server_push(memcached_st *ptr, const memcached_serv instance= memcached_server_instance_fetch(ptr, memcached_server_count(ptr)); WATCHPOINT_ASSERT(instance); - if (not memcached_server_create_with(ptr, instance, list[x].hostname, - list[x].port, list[x].weight, list[x].type)) + if (not __server_create_with(ptr, instance, list[x].hostname, + list[x].port, list[x].weight, list[x].type)) { return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT); } @@ -453,7 +456,7 @@ memcached_return_t memcached_server_add_with_weight(memcached_st *ptr, if (not hostname) hostname= "localhost"; - return server_add(ptr, hostname, port, weight, MEMCACHED_CONNECTION_TCP); + return server_add(ptr, hostname, port, weight, hostname[0] == '/' ? MEMCACHED_CONNECTION_UNIX_SOCKET : MEMCACHED_CONNECTION_TCP); } static memcached_return_t server_add(memcached_st *ptr, const char *hostname, @@ -479,7 +482,7 @@ static memcached_return_t server_add(memcached_st *ptr, const char *hostname, /* TODO: Check return type */ memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, memcached_server_count(ptr)); - if (not memcached_server_create_with(ptr, instance, hostname, port, weight, type)) + if (not __server_create_with(ptr, instance, hostname, port, weight, type)) { return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT); }