... | ... |
@@ -412,15 +412,16 @@ cleanup(char *filename) |
412 | 412 |
int |
413 | 413 |
main(int argc, char *argv[]) |
414 | 414 |
{ |
415 |
- FILE *f; |
|
415 |
+ FILE *src, *dst; |
|
416 | 416 |
if(argc < 3) |
417 | 417 |
return !error("usage", "input.tal output.rom"); |
418 |
- if(!(f = fopen(argv[1], "r"))) |
|
419 |
- return !error("Load", "Failed to open source."); |
|
420 |
- if(!pass1(f) || !pass2(f)) |
|
418 |
+ if(!(src = fopen(argv[1], "r"))) |
|
419 |
+ return !error("Invalid Input", argv[1]); |
|
420 |
+ if(!pass1(src) || !pass2(src)) |
|
421 | 421 |
return !error("Assembly", "Failed to assemble rom."); |
422 |
- fwrite(p.data + TRIM, p.length - TRIM, 1, fopen(argv[2], "wb")); |
|
423 |
- fclose(f); |
|
422 |
+ if(!(dst = fopen(argv[2], "wb"))) |
|
423 |
+ return !error("Invalid Output", argv[2]); |
|
424 |
+ fwrite(p.data + TRIM, p.length - TRIM, 1, dst); |
|
424 | 425 |
cleanup(argv[2]); |
425 | 426 |
return 0; |
426 | 427 |
} |