Forums » Development »
[Solved] buffer_is_equal_string(const buffer *a, const char *s, size_t b_len)
Added by laszlo.gyimothy over 6 years ago
Hi All,
lighttpd git master version:
buffer_is_equal_string()
method has 3 parameters, but it is used with only 2 parameters:
e.g.: mod_openssl.c
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.cipher-list"))) { PATCH(ssl_cipher_list); } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.dh-file"))) { PATCH(ssl_dh_file); } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.ec-curve"))) { PATCH(ssl_ec_curve);
I think it should be fixed. Am I right?
Laszlo
Replies (2)
RE: buffer_is_equal_string(const buffer *a, const char *s, size_t b_len) - Added by stbuehler over 6 years ago
Hi Laszlo,
it wouldn't compile if the parameter count wouldn't match. The uppercase notation of CONST_STR_LEN
indicates that CONST_STR_LEN
is not a function but a macro - and it provides two parameters in the function call context (that is all the macro is about).
RE: buffer_is_equal_string(const buffer *a, const char *s, size_t b_len) - Added by laszlo.gyimothy over 6 years ago
Thank you for the quick answer, that's true, I overlooked it. Now I can see the macro definition...
#define CONST_STR_LEN(x) x, (x) ? sizeof(x) - 1 : 0
:)