From 116069fab37d63fb17781335521942f3f5f44a8a Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 Jul 2009 00:00:07 +0200 Subject: [PATCH] upgrade http_parser --- deps/http_parser/http_parser.c | 2 +- deps/http_parser/http_parser.rl | 2 +- deps/http_parser/test.c | 29 +++++++++++++++++++---------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/deps/http_parser/http_parser.c b/deps/http_parser/http_parser.c index 6facae8e2b..13254824b6 100644 --- a/deps/http_parser/http_parser.c +++ b/deps/http_parser/http_parser.c @@ -43,7 +43,7 @@ static int unhex[] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 #define MAX_FIELD_SIZE 80*1024 -#define REMAINING (pe - p) +#define REMAINING (unsigned long)(pe - p) #define CALLBACK(FOR) \ do { \ if (parser->FOR##_mark) { \ diff --git a/deps/http_parser/http_parser.rl b/deps/http_parser/http_parser.rl index 1ad5ab2867..18d0360f07 100644 --- a/deps/http_parser/http_parser.rl +++ b/deps/http_parser/http_parser.rl @@ -42,7 +42,7 @@ static int unhex[] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 #define MAX_FIELD_SIZE 80*1024 -#define REMAINING (pe - p) +#define REMAINING (unsigned long)(pe - p) #define CALLBACK(FOR) \ do { \ if (parser->FOR##_mark) { \ diff --git a/deps/http_parser/test.c b/deps/http_parser/test.c index 19efba32a5..6188629681 100644 --- a/deps/http_parser/test.c +++ b/deps/http_parser/test.c @@ -358,36 +358,41 @@ const struct message responses[] = }; int -request_path_cb (http_parser *_, const char *p, size_t len) +request_path_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); strncat(messages[num_messages].request_path, p, len); return 0; } int -request_uri_cb (http_parser *_, const char *p, size_t len) +request_uri_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); strncat(messages[num_messages].request_uri, p, len); return 0; } int -query_string_cb (http_parser *_, const char *p, size_t len) +query_string_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); strncat(messages[num_messages].query_string, p, len); return 0; } int -fragment_cb (http_parser *_, const char *p, size_t len) +fragment_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); strncat(messages[num_messages].fragment, p, len); return 0; } int -header_field_cb (http_parser *_, const char *p, size_t len) +header_field_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); struct message *m = &messages[num_messages]; if (m->last_header_element != FIELD) @@ -401,8 +406,9 @@ header_field_cb (http_parser *_, const char *p, size_t len) } int -header_value_cb (http_parser *_, const char *p, size_t len) +header_value_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); struct message *m = &messages[num_messages]; strncat(m->headers[m->num_headers-1][1], p, len); @@ -413,8 +419,9 @@ header_value_cb (http_parser *_, const char *p, size_t len) } int -body_cb (http_parser *_, const char *p, size_t len) +body_cb (http_parser *parser, const char *p, size_t len) { + assert(parser); strncat(messages[num_messages].body, p, len); // printf("body_cb: '%s'\n", requests[num_messages].body); return 0; @@ -433,15 +440,17 @@ message_complete_cb (http_parser *parser) } int -message_begin_cb (http_parser *_) +message_begin_cb (http_parser *parser) { + assert(parser); messages[num_messages].message_begin_cb_called = TRUE; return 0; } int -headers_complete_cb (http_parser *_) +headers_complete_cb (http_parser *parser) { + assert(parser); messages[num_messages].headers_complete_cb_called = TRUE; return 0; } @@ -643,7 +652,7 @@ test_scan (const struct message *r1, const struct message *r2, const struct mess message_eq(2, r3); } } - printf("\b\b\b\b100%\n"); + puts("\b\b\b\b100%"); } int