diff options
Diffstat (limited to 'src/sp_var_parser.c')
| -rw-r--r-- | src/sp_var_parser.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/sp_var_parser.c b/src/sp_var_parser.c index 55cbfc2..d0ae67c 100644 --- a/src/sp_var_parser.c +++ b/src/sp_var_parser.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #include "php_snuffleupagus.h" | 1 | #include "php_snuffleupagus.h" |
| 2 | 2 | ||
| 3 | static int parse_str_tokens(const char *str, const sp_conf_token token, | 3 | static sp_list_node *parse_str_tokens(const char *str, const sp_conf_token token, |
| 4 | sp_list_node *tokens_list) { | 4 | sp_list_node *tokens_list) { |
| 5 | const char *cur_str = str; | 5 | const char *cur_str = str; |
| 6 | 6 | ||
| @@ -10,13 +10,13 @@ static int parse_str_tokens(const char *str, const sp_conf_token token, | |||
| 10 | token_elm->pos = cur_str - str; | 10 | token_elm->pos = cur_str - str; |
| 11 | token_elm->text_repr = token.text_repr; | 11 | token_elm->text_repr = token.text_repr; |
| 12 | token_elm->type = token.type; | 12 | token_elm->type = token.type; |
| 13 | sp_list_insert(tokens_list, token_elm); | 13 | tokens_list = sp_list_insert(tokens_list, token_elm); |
| 14 | cur_str += strlen(token.text_repr); | 14 | cur_str += strlen(token.text_repr); |
| 15 | } else { | 15 | } else { |
| 16 | cur_str++; | 16 | cur_str++; |
| 17 | } | 17 | } |
| 18 | } | 18 | } |
| 19 | return 0; | 19 | return tokens_list; |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | static bool is_var_name_valid(const char *name) { | 22 | static bool is_var_name_valid(const char *name) { |
| @@ -240,10 +240,9 @@ sp_tree *parse_var(const char *line) { | |||
| 240 | if (!line) { | 240 | if (!line) { |
| 241 | return NULL; | 241 | return NULL; |
| 242 | } | 242 | } |
| 243 | tokens_list = sp_list_new(); | ||
| 244 | for (unsigned int i = 0; i < sizeof(delimiter_list) / sizeof(sp_conf_token); | 243 | for (unsigned int i = 0; i < sizeof(delimiter_list) / sizeof(sp_conf_token); |
| 245 | i++) { | 244 | i++) { |
| 246 | parse_str_tokens(line, delimiter_list[i], tokens_list); | 245 | tokens_list = parse_str_tokens(line, delimiter_list[i], tokens_list); |
| 247 | } | 246 | } |
| 248 | tokens_list = sp_list_sort(tokens_list, cmp_tokens); | 247 | tokens_list = sp_list_sort(tokens_list, cmp_tokens); |
| 249 | tree = parse_tokens(line, tokens_list); | 248 | tree = parse_tokens(line, tokens_list); |
