glsl/apps: Always write out error condition.
This commit is contained in:
parent
cc629940d4
commit
69bdd47dba
|
@ -54,14 +54,26 @@ main(int argc,
|
|||
size = ftell(in);
|
||||
fseek(in, 0, SEEK_SET);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
inbuf = malloc(size + 1);
|
||||
if (!inbuf) {
|
||||
fprintf(out, "$OOMERROR\n");
|
||||
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fread(inbuf, 1, size, in) != size) {
|
||||
fprintf(out, "$READERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
@ -72,18 +84,15 @@ main(int argc,
|
|||
memset(&options, 0, sizeof(options));
|
||||
|
||||
if (sl_pp_purify(inbuf, &options, &outbuf)) {
|
||||
fprintf(out, "$PURIFYERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
free(inbuf);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
free(outbuf);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fwrite(outbuf, 1, strlen(outbuf), out);
|
||||
|
||||
free(outbuf);
|
||||
|
|
|
@ -60,14 +60,26 @@ main(int argc,
|
|||
size = ftell(in);
|
||||
fseek(in, 0, SEEK_SET);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
inbuf = malloc(size + 1);
|
||||
if (!inbuf) {
|
||||
fprintf(out, "$OOMERROR\n");
|
||||
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fread(inbuf, 1, size, in) != size) {
|
||||
fprintf(out, "$READERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
@ -78,32 +90,34 @@ main(int argc,
|
|||
memset(&options, 0, sizeof(options));
|
||||
|
||||
if (sl_pp_purify(inbuf, &options, &outbuf)) {
|
||||
fprintf(out, "$PURIFYERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
free(inbuf);
|
||||
|
||||
if (sl_pp_context_init(&context)) {
|
||||
fprintf(out, "$CONTEXERROR\n");
|
||||
|
||||
free(outbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (sl_pp_tokenise(&context, outbuf, &tokens)) {
|
||||
fprintf(out, "$ERROR: `%s'\n", context.error_msg);
|
||||
|
||||
sl_pp_context_destroy(&context);
|
||||
free(outbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
free(outbuf);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
sl_pp_context_destroy(&context);
|
||||
free(tokens);
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (i = 0; tokens[i].token != SL_PP_EOF; i++) {
|
||||
switch (tokens[i].token) {
|
||||
case SL_PP_WHITESPACE:
|
||||
|
|
|
@ -60,14 +60,26 @@ main(int argc,
|
|||
size = ftell(in);
|
||||
fseek(in, 0, SEEK_SET);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
inbuf = malloc(size + 1);
|
||||
if (!inbuf) {
|
||||
fprintf(out, "$OOMERROR\n");
|
||||
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fread(inbuf, 1, size, in) != size) {
|
||||
fprintf(out, "$READERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
fclose(in);
|
||||
return 1;
|
||||
}
|
||||
|
@ -78,39 +90,46 @@ main(int argc,
|
|||
memset(&options, 0, sizeof(options));
|
||||
|
||||
if (sl_pp_purify(inbuf, &options, &outbuf)) {
|
||||
fprintf(out, "$PURIFYERROR\n");
|
||||
|
||||
free(inbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
free(inbuf);
|
||||
|
||||
if (sl_pp_context_init(&context)) {
|
||||
fprintf(out, "$CONTEXERROR\n");
|
||||
|
||||
free(outbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (sl_pp_tokenise(&context, outbuf, &tokens)) {
|
||||
fprintf(out, "$ERROR: `%s'\n", context.error_msg);
|
||||
|
||||
sl_pp_context_destroy(&context);
|
||||
free(outbuf);
|
||||
fclose(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
free(outbuf);
|
||||
|
||||
if (sl_pp_version(&context, tokens, &version, &tokens_eaten)) {
|
||||
fprintf(out, "$ERROR: `%s'\n", context.error_msg);
|
||||
|
||||
sl_pp_context_destroy(&context);
|
||||
free(tokens);
|
||||
fclose(out);
|
||||
return -1;
|
||||
}
|
||||
|
||||
sl_pp_context_destroy(&context);
|
||||
free(tokens);
|
||||
|
||||
out = fopen(argv[2], "wb");
|
||||
if (!out) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"%u\n%u\n",
|
||||
version,
|
||||
|
|
Loading…
Reference in New Issue