Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

src: introduce http_parser_url_init #225

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion contrib/url_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -43,4 +44,4 @@ int main(int argc, char ** argv) {
printf("Parse ok, result : \n");
dump_url(argv[2], &u);
return 0;
}
}
5 changes: 5 additions & 0 deletions http_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -2292,6 +2292,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)
Expand Down
3 changes: 3 additions & 0 deletions http_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,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,
Expand Down