diff options
Diffstat (limited to 'src/glsl/pp/sl_pp_token.c')
-rw-r--r-- | src/glsl/pp/sl_pp_token.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/glsl/pp/sl_pp_token.c b/src/glsl/pp/sl_pp_token.c index e9a60b6c50..a708978700 100644 --- a/src/glsl/pp/sl_pp_token.c +++ b/src/glsl/pp/sl_pp_token.c @@ -39,13 +39,12 @@ static int _pure_getc(struct sl_pp_context *context) { char c; - unsigned int current_line; if (context->getc_buf_size) { return context->getc_buf[--context->getc_buf_size]; } - if (sl_pp_purify_getc(&context->pure, &c, ¤t_line, context->error_msg, sizeof(context->error_msg)) == 0) { + if (sl_pp_purify_getc(&context->pure, &c, &context->error_line, context->error_msg, sizeof(context->error_msg)) == 0) { return PURE_ERROR; } return c; @@ -508,7 +507,7 @@ _tokenise_number(struct sl_pp_context *context, } -static int +int sl_pp_token_get(struct sl_pp_context *context, struct sl_pp_token_info *out) { @@ -810,20 +809,16 @@ sl_pp_token_get(struct sl_pp_context *context, int sl_pp_tokenise(struct sl_pp_context *context, - const char *input, - const struct sl_pp_purify_options *options, struct sl_pp_token_info **output) { struct sl_pp_token_info *out = NULL; unsigned int out_len = 0; unsigned int out_max = 0; - sl_pp_purify_state_init(&context->pure, input, options); - for (;;) { struct sl_pp_token_info info; - if (sl_pp_token_get(context, &info)) { + if (sl_pp_token_buffer_get(&context->tokens, &info)) { free(out); return -1; } |