summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2019-10-10 19:37:40 +0300
committerIgor Sysoev <igor@sysoev.ru>2019-10-10 19:37:40 +0300
commitec0d5c928efcfb2d4958246d686718cb9747f722 (patch)
tree7db3f61085e0a3adcdcb26e5ebdde16ce4e05f48
parent75453479f3d1d1c865ed2e2a51618dd014642e6f (diff)
downloadunit-ec0d5c928efcfb2d4958246d686718cb9747f722.tar.gz
unit-ec0d5c928efcfb2d4958246d686718cb9747f722.tar.bz2
Changed nxt_memcasecmp() interface to avoid casts.
-rw-r--r--src/nxt_h1proto.c10
-rw-r--r--src/nxt_string.c10
-rw-r--r--src/nxt_string.h2
3 files changed, 12 insertions, 10 deletions
diff --git a/src/nxt_h1proto.c b/src/nxt_h1proto.c
index 541fcb44..7602e9c6 100644
--- a/src/nxt_h1proto.c
+++ b/src/nxt_h1proto.c
@@ -655,8 +655,7 @@ nxt_h1p_header_buffer_test(nxt_task_t *task, nxt_h1proto_t *h1p, nxt_conn_t *c,
static nxt_int_t
nxt_h1p_connection(void *ctx, nxt_http_field_t *field, uintptr_t data)
{
- nxt_http_request_t *r;
- static const u_char *upgrade = (const u_char *) "upgrade";
+ nxt_http_request_t *r;
r = ctx;
@@ -664,7 +663,7 @@ nxt_h1p_connection(void *ctx, nxt_http_field_t *field, uintptr_t data)
r->proto.h1->keepalive = 0;
} else if (field->value_length == 7
- && nxt_memcasecmp(field->value, upgrade, 7) == 0)
+ && nxt_memcasecmp(field->value, "upgrade", 7) == 0)
{
r->proto.h1->connection_upgrade = 1;
}
@@ -676,13 +675,12 @@ nxt_h1p_connection(void *ctx, nxt_http_field_t *field, uintptr_t data)
static nxt_int_t
nxt_h1p_upgrade(void *ctx, nxt_http_field_t *field, uintptr_t data)
{
- nxt_http_request_t *r;
- static const u_char *websocket = (const u_char *) "websocket";
+ nxt_http_request_t *r;
r = ctx;
if (field->value_length == 9
- && nxt_memcasecmp(field->value, websocket, 9) == 0)
+ && nxt_memcasecmp(field->value, "websocket", 9) == 0)
{
r->proto.h1->upgrade_websocket = 1;
}
diff --git a/src/nxt_string.c b/src/nxt_string.c
index b89e9555..d567883f 100644
--- a/src/nxt_string.c
+++ b/src/nxt_string.c
@@ -188,10 +188,14 @@ nxt_strncasecmp(const u_char *s1, const u_char *s2, size_t length)
nxt_int_t
-nxt_memcasecmp(const u_char *s1, const u_char *s2, size_t length)
+nxt_memcasecmp(const void *p1, const void *p2, size_t length)
{
- u_char c1, c2;
- nxt_int_t n;
+ u_char c1, c2;
+ nxt_int_t n;
+ const u_char *s1, *s2;
+
+ s1 = p1;
+ s2 = p2;
while (length-- != 0) {
c1 = *s1++;
diff --git a/src/nxt_string.h b/src/nxt_string.h
index 8d7b3b73..de498048 100644
--- a/src/nxt_string.h
+++ b/src/nxt_string.h
@@ -87,7 +87,7 @@ NXT_EXPORT u_char *nxt_cpystrn(u_char *dst, const u_char *src, size_t length);
NXT_EXPORT nxt_int_t nxt_strcasecmp(const u_char *s1, const u_char *s2);
NXT_EXPORT nxt_int_t nxt_strncasecmp(const u_char *s1, const u_char *s2,
size_t length);
-NXT_EXPORT nxt_int_t nxt_memcasecmp(const u_char *s1, const u_char *s2,
+NXT_EXPORT nxt_int_t nxt_memcasecmp(const void *p1, const void *p2,
size_t length);
NXT_EXPORT u_char *nxt_memstrn(const u_char *s, const u_char *end,