]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
uri-util: Added support for initializing the URI parser from data.
authorStephan Bosch <stephan@rename-it.nl>
Sun, 8 May 2016 22:31:43 +0000 (00:31 +0200)
committerGitLab <gitlab@git.dovecot.net>
Mon, 16 May 2016 07:36:48 +0000 (10:36 +0300)
src/lib/uri-util.c
src/lib/uri-util.h

index eb1cdcb39ba48ecddbf51dc46fc708dc86a46260..4288a96fd4e2cf37bcff2712a6daf26cf3473460 100644 (file)
@@ -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)
index c69fc07d750100dd4860504e412a19239e565265..348f9d4e198f5ff28e793420de5c2d87667a93f3 100644 (file)
@@ -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);