Skip to content

Commit

Permalink
uri-util: Added support for initializing the URI parser from data.
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanbosch authored and GitLab committed May 16, 2016
1 parent b7e953d commit a643e1e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
15 changes: 12 additions & 3 deletions src/lib/uri-util.c
Expand Up @@ -927,13 +927,22 @@ int uri_parse_fragment(struct uri_parser *parser, const char **fragment_r)
return 1;
}

void uri_parser_init(struct uri_parser *parser, pool_t pool, const char *data)
void uri_parser_init_data(struct uri_parser *parser,
pool_t pool, const unsigned char *data, size_t size)
{
parser->pool = pool;
parser->begin = parser->cur = (unsigned char *)data;
parser->end = (unsigned char *)data + strlen(data);
parser->begin = parser->cur = data;
parser->end = data + size;
parser->error = NULL;
parser->tmpbuf = NULL;

}

void uri_parser_init(struct uri_parser *parser,
pool_t pool, const char *uri)
{
uri_parser_init_data
(parser, pool, (const unsigned char *)uri, strlen(uri));
}

string_t *uri_parser_get_tmpbuf(struct uri_parser *parser, size_t size)
Expand Down
7 changes: 5 additions & 2 deletions src/lib/uri-util.h
Expand Up @@ -53,8 +53,11 @@ int uri_parse_query(struct uri_parser *parser,
int uri_parse_fragment(struct uri_parser *parser,
const char **fragment_r) ATTR_NULL(2);

void uri_parser_init(struct uri_parser *parser, pool_t pool,
const char *data);
void uri_parser_init_data(struct uri_parser *parser,
pool_t pool, const unsigned char *data, size_t size);
void uri_parser_init(struct uri_parser *parser,
pool_t pool, const char *uri);

string_t *uri_parser_get_tmpbuf(struct uri_parser *parser,
size_t size);

Expand Down

0 comments on commit a643e1e

Please sign in to comment.