]> git.proxmox.com Git - libgit2.git/blobdiff - src/config_parse.h
New upstream version 1.1.0+dfsg.1
[libgit2.git] / src / config_parse.h
index 81a13fcebf8494875d555f2d1699898e3317f5b6..b791d32451279da3f3645a05452a53c924b72910 100644 (file)
@@ -8,30 +8,28 @@
 #define INCLUDE_config_parse_h__
 
 #include "common.h"
+
 #include "array.h"
+#include "futils.h"
 #include "oid.h"
 #include "parse.h"
 
 extern const char *git_config_escapes;
 extern const char *git_config_escaped;
 
-typedef struct config_file {
-       git_oid checksum;
-       char *path;
-       git_array_t(struct config_file) includes;
-} git_config_file;
-
 typedef struct {
-       struct config_file *file;
+       const char *path;
        git_parse_ctx ctx;
 } git_config_parser;
 
+#define GIT_CONFIG_PARSER_INIT { NULL, GIT_PARSE_CTX_INIT }
+
 typedef int (*git_config_parser_section_cb)(
        git_config_parser *parser,
        const char *current_section,
        const char *line,
        size_t line_len,
-       void *data);
+       void *payload);
 
 typedef int (*git_config_parser_variable_cb)(
        git_config_parser *parser,
@@ -40,18 +38,21 @@ typedef int (*git_config_parser_variable_cb)(
        const char *var_value,
        const char *line,
        size_t line_len,
-       void *data);
+       void *payload);
 
 typedef int (*git_config_parser_comment_cb)(
        git_config_parser *parser,
        const char *line,
        size_t line_len,
-       void *data);
+       void *payload);
 
 typedef int (*git_config_parser_eof_cb)(
        git_config_parser *parser,
        const char *current_section,
-       void *data);
+       void *payload);
+
+int git_config_parser_init(git_config_parser *out, const char *path, const char *data, size_t datalen);
+void git_config_parser_dispose(git_config_parser *parser);
 
 int git_config_parse(
        git_config_parser *parser,
@@ -59,6 +60,6 @@ int git_config_parse(
        git_config_parser_variable_cb on_variable,
        git_config_parser_comment_cb on_comment,
        git_config_parser_eof_cb on_eof,
-       void *data);
+       void *payload);
 
 #endif