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:
@@ -155,6 +155,7 @@ struct glcpp_parser {
|
|||||||
token_node_t *lex_from_node;
|
token_node_t *lex_from_node;
|
||||||
char *output;
|
char *output;
|
||||||
char *info_log;
|
char *info_log;
|
||||||
|
int error;
|
||||||
};
|
};
|
||||||
|
|
||||||
glcpp_parser_t *
|
glcpp_parser_t *
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
void
|
void
|
||||||
glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
|
glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
|
parser->error = 1;
|
||||||
parser->info_log = talloc_asprintf_append(parser->info_log,
|
parser->info_log = talloc_asprintf_append(parser->info_log,
|
||||||
"%u:%u(%u): "
|
"%u:%u(%u): "
|
||||||
"preprocessor error: ",
|
"preprocessor error: ",
|
||||||
@@ -48,13 +49,13 @@ preprocess(void *talloc_ctx, const char **shader, size_t *shader_len)
|
|||||||
|
|
||||||
glcpp_parser_parse (parser);
|
glcpp_parser_parse (parser);
|
||||||
|
|
||||||
errors = parser->info_log[0] != '\0';
|
|
||||||
printf("%s", parser->info_log);
|
printf("%s", parser->info_log);
|
||||||
|
|
||||||
talloc_steal(talloc_ctx, parser->output);
|
talloc_steal(talloc_ctx, parser->output);
|
||||||
*shader = parser->output;
|
*shader = parser->output;
|
||||||
*shader_len = strlen(parser->output);
|
*shader_len = strlen(parser->output);
|
||||||
|
|
||||||
|
errors = parser->error;
|
||||||
glcpp_parser_destroy (parser);
|
glcpp_parser_destroy (parser);
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user