diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-21 12:39:49 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-21 12:39:49 -0700 |
commit | 62b4b7785a01f11e7fcd9bf76dae6b3c0a16d537 (patch) | |
tree | 9840d33bbb8521fcbeb7a57d0be6a3e0d40c5e2a /glcpp | |
parent | 33eaa3e0b3a8f94c2abb23ac3c9cbe571f170fb6 (diff) |
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.
Diffstat (limited to 'glcpp')
-rw-r--r-- | glcpp/glcpp.h | 1 | ||||
-rw-r--r-- | glcpp/pp.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/glcpp/glcpp.h b/glcpp/glcpp.h index e67469be2e..8167a481d5 100644 --- a/glcpp/glcpp.h +++ b/glcpp/glcpp.h @@ -155,6 +155,7 @@ struct glcpp_parser { token_node_t *lex_from_node; char *output; char *info_log; + int error; }; glcpp_parser_t * diff --git a/glcpp/pp.c b/glcpp/pp.c index f8a7c2ea4d..846d35506f 100644 --- a/glcpp/pp.c +++ b/glcpp/pp.c @@ -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; } |