diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2015-04-19 02:30:26 -0300 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2015-04-19 02:30:26 -0300 |
commit | 1826b5ad70ebd5db751ed0d4eee6f857a7001100 (patch) | |
tree | 90cdf5cac51ed30ca12d4ea390f65bbca5242de4 /src/source-parser.c | |
parent | 86b551fdf2a8bf5c6e3cebcc463ee830d65ced94 (diff) | |
download | blogc-1826b5ad70ebd5db751ed0d4eee6f857a7001100.tar.gz blogc-1826b5ad70ebd5db751ed0d4eee6f857a7001100.tar.bz2 blogc-1826b5ad70ebd5db751ed0d4eee6f857a7001100.zip |
remove specific type used to store sources
Diffstat (limited to 'src/source-parser.c')
-rw-r--r-- | src/source-parser.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/source-parser.c b/src/source-parser.c index 68cf9db..b6b7fd0 100644 --- a/src/source-parser.c +++ b/src/source-parser.c @@ -28,7 +28,7 @@ typedef enum { } blogc_source_parser_state_t; -blogc_source_t* +b_trie_t* blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err) { if (err == NULL || *err != NULL) @@ -39,8 +39,7 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err) char *key = NULL; char *tmp = NULL; - b_trie_t *config = b_trie_new(free); - char *content = NULL; + b_trie_t *rv = b_trie_new(free); blogc_source_parser_state_t state = SOURCE_START; @@ -92,7 +91,7 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err) case SOURCE_CONFIG_VALUE: if (c == '\n' || c == '\r') { tmp = b_strndup(src + start, current - start); - b_trie_insert(config, key, b_strdup(b_str_strip(tmp))); + b_trie_insert(rv, key, b_strdup(b_str_strip(tmp))); free(tmp); free(key); key = NULL; @@ -119,7 +118,8 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err) case SOURCE_CONTENT: if (current == (src_len - 1)) - content = b_strndup(src + start, src_len - start); + b_trie_insert(rv, "CONTENT", + b_strndup(src + start, src_len - start)); break; } @@ -131,26 +131,9 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err) if (*err != NULL) { free(key); - free(content); - b_trie_free(config); + b_trie_free(rv); return NULL; } - blogc_source_t *rv = b_malloc(sizeof(blogc_source_t)); - rv->config = config; - rv->content = content; - return rv; } - - -void -blogc_source_free(void *source) -{ - if (source == NULL) - return; - blogc_source_t *s = source; - free(s->content); - b_trie_free(s->config); - free(s); -} |