glsl: Print out error message in apps/process.
authorMichal Krol <michal@vmware.com>
Fri, 4 Sep 2009 06:16:14 +0000 (08:16 +0200)
committerMichal Krol <michal@vmware.com>
Mon, 7 Sep 2009 08:11:56 +0000 (10:11 +0200)
src/glsl/apps/process.c

index abcf1a92b83b160f1a89db93f405ff1bef3cad75..d01294f34079e044bb4e4c874246a9261962721e 100644 (file)
@@ -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: