Browse code

Test for valid destination in uxnasm

Devine Lu Linvega authored on 29/10/2021 16:29:23
Showing 1 changed files
... ...
@@ -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
 }