Permalink
Browse files

src: introduce `http_parser_url_init`

The struct must be zero-initialized, but this wasn't explicitly stated
anywhere in headers. Introduce `http_parser_url_init` API method that
will do it.

Fixes: #209
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
PR-URL: #225
  • Loading branch information...
1 parent 483eca7 commit 777ba4ededf53040f4c5cc5d53f26201e705ebaf @indutny indutny committed with jasnell Feb 24, 2015
Showing with 10 additions and 1 deletion.
  1. +2 −1 contrib/url_parser.c
  2. +5 −0 http_parser.c
  3. +3 −0 http_parser.h
@@ -35,6 +35,7 @@ int main(int argc, char ** argv) {
connect = strcmp("connect", argv[1]) == 0 ? 1 : 0;
printf("Parsing %s, connect %d\n", argv[2], connect);
+ http_parser_url_init(&u);
result = http_parser_parse_url(argv[2], len, connect, &u);
if (result != 0) {
printf("Parse error : %d\n", result);
@@ -43,4 +44,4 @@ int main(int argc, char ** argv) {
printf("Parse ok, result : \n");
dump_url(argv[2], &u);
return 0;
-}
+}
View
@@ -2350,6 +2350,11 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
return 0;
}
+void
+http_parser_url_init(struct http_parser_url *u) {
+ memset(u, 0, sizeof(*u));
+}
+
int
http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
struct http_parser_url *u)
View
@@ -333,6 +333,9 @@ const char *http_errno_name(enum http_errno err);
/* Return a string description of the given error */
const char *http_errno_description(enum http_errno err);
+/* Initialize all http_parser_url members to 0 */
+void http_parser_url_init(struct http_parser_url *u);
+
/* Parse a URL; return nonzero on failure */
int http_parser_parse_url(const char *buf, size_t buflen,
int is_connect,

0 comments on commit 777ba4e

Please sign in to comment.