summaryrefslogtreecommitdiffstats
path: root/src/glsl/apps/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/apps/process.c')
-rw-r--r--src/glsl/apps/process.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/glsl/apps/process.c b/src/glsl/apps/process.c
index abcf1a92b83..d01294f3407 100644
--- a/src/glsl/apps/process.c
+++ b/src/glsl/apps/process.c
@@ -104,21 +104,24 @@ main(int argc,
return -1;
}
- if (sl_pp_process(&context, &tokens[tokens_eaten], &outtokens)) {
+ out = fopen(argv[2], "wb");
+ if (!out) {
sl_pp_context_destroy(&context);
free(tokens);
- return -1;
+ return 1;
}
- free(tokens);
+ if (sl_pp_process(&context, &tokens[tokens_eaten], &outtokens)) {
+ fprintf(out, "$ERROR: `%s'\n", context.error_msg);
- out = fopen(argv[2], "wb");
- if (!out) {
sl_pp_context_destroy(&context);
- free(outtokens);
- return 1;
+ free(tokens);
+ fclose(out);
+ return -1;
}
+ free(tokens);
+
for (i = 0; outtokens[i].token != SL_PP_EOF; i++) {
switch (outtokens[i].token) {
case SL_PP_NEWLINE: