glcpp: Add boolean 'error' flag.

We used to check if the info log is non-empty, but when we print
warnings, this will no longer be valid.
This commit is contained in:
Kenneth Graunke
2010-06-21 12:39:49 -07:00
parent 33eaa3e0b3
commit 62b4b7785a
2 changed files with 3 additions and 1 deletions

View File

@@ -155,6 +155,7 @@ struct glcpp_parser {
token_node_t *lex_from_node;
char *output;
char *info_log;
int error;
};
glcpp_parser_t *

View File

@@ -26,6 +26,7 @@
void
glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
{
parser->error = 1;
parser->info_log = talloc_asprintf_append(parser->info_log,
"%u:%u(%u): "
"preprocessor error: ",
@@ -48,13 +49,13 @@ preprocess(void *talloc_ctx, const char **shader, size_t *shader_len)
glcpp_parser_parse (parser);
errors = parser->info_log[0] != '\0';
printf("%s", parser->info_log);
talloc_steal(talloc_ctx, parser->output);
*shader = parser->output;
*shader_len = strlen(parser->output);
errors = parser->error;
glcpp_parser_destroy (parser);
return errors;
}