X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Foptions.cc;h=290cfc895b434c90868563ae37476237454dca84;hb=1899ec2a3d1f4f180b0109879a966fd6603ece86;hp=c1e591d83d60c8eb132aae01975c522b27226f07;hpb=50dc8599f105fe915607e6f2d57851fd9acad839;p=awesomized%2Flibmemcached diff --git a/libmemcached/options.cc b/libmemcached/options.cc index c1e591d8..290cfc89 100644 --- a/libmemcached/options.cc +++ b/libmemcached/options.cc @@ -38,13 +38,11 @@ #include #include -#include - -#include +#include const char *memcached_parse_filename(memcached_st *memc) { - assert(memc); + assert_msg(memc, "Invalid memcached_st"); return memcached_array_string(memc->configure.filename); } @@ -84,30 +82,39 @@ memcached_return_t libmemcached_check_configuration(const char *option_string, s { memcached_st memc, *memc_ptr; - if (error_buffer_size) + if (option_string == NULL or length == 0) + { + return MEMCACHED_INVALID_ARGUMENTS; + } + + if (error_buffer and error_buffer_size) + { error_buffer[0]= 0; + } if (not (memc_ptr= memcached_create(&memc))) + { return MEMCACHED_MEMORY_ALLOCATION_FAILURE; + } memcached_return_t rc= memcached_parse_configuration(memc_ptr, option_string, length); if (memcached_failed(rc) and error_buffer and error_buffer_size) { strncpy(error_buffer, memcached_last_error_message(memc_ptr), error_buffer_size); - error_buffer[length -1]= 0; + error_buffer[error_buffer_size -1]= 0; } bool has_filename= memcached_behavior_get(memc_ptr, MEMCACHED_BEHAVIOR_LOAD_FROM_FILE); if (memcached_success(rc) and has_filename) { - assert(memcached_parse_filename(memc_ptr)); - assert(memcached_parse_filename_length(memc_ptr)); - memcached_string_t filename= memcached_array_to_string(memc_ptr->configure.filename); + assert_msg(memcached_parse_filename(memc_ptr), "Invalid configuration file"); + assert_msg(memcached_parse_filename_length(memc_ptr), "Invalid configuration file"); rc= _parse_file_options(*memc_ptr, memc_ptr->configure.filename); - if (memcached_failed(rc) and error_buffer && error_buffer_size) + if (memcached_failed(rc) and error_buffer and error_buffer_size) { strncpy(error_buffer, memcached_last_error_message(memc_ptr), error_buffer_size); + error_buffer[error_buffer_size -1]= 0; } } @@ -134,8 +141,8 @@ memcached_return_t memcached_parse_configuration(memcached_st *self, char const void memcached_set_configuration_file(memcached_st *self, const char *filename, size_t filename_length) { - assert(filename); - assert(filename_length); + assert_msg(filename, "Invalid filename"); + assert_msg(filename_length, "Invalid filename_length"); memcached_array_free(self->configure.filename); self->configure.filename= memcached_strcpy(self, filename, filename_length); }