rewrite error exits for consistency

This commit is contained in:
EDiasAlberto 2024-06-03 21:23:18 +01:00
parent 6203e65bdc
commit 1ff18a4fb9
3 changed files with 14 additions and 7 deletions

View File

@ -0,0 +1,3 @@
#include <stdio.h>
#include <string.h>

View File

View File

@ -3,6 +3,7 @@
#define MAX_ASM_LINE_LENGTH 100
//validates inputted charlist as valid filename against expected extension
int isValidFileFormat(char filename[], char expectedExtension[]){
int *pointLoc = strrchr(filename, '.');
@ -14,10 +15,11 @@ int isValidFileFormat(char filename[], char expectedExtension[]){
return(0);
}
//writes a list of words (list of binary instructions) to a named output file
int writeBinaryFile(word instrs[], char outputFile[]){
if (!isValidFileFormat(filename, "bin")){
return(-1);
exit(EXIT_FAILURE);
}
FILE *fp;
@ -25,18 +27,20 @@ int writeBinaryFile(word instrs[], char outputFile[]){
fp = fopen(outputFile, "wb");
if(fp == NULL){
return(-1);
exit(EXIT_FAILURE);
}
fwrite(instrs, 4, sizeof(instrs), fp);
fwrite(instrs, sizeof(word), sizeof(instrs), fp);
fclose(fp);
return(0);
exit(EXIT_SUCCESS);
}
//reads assembly file of "inputFile" name,
int readAssemblyFile(char inputFile[]) {
if (!isValidFileFormat(filename, "s")){
return(1);
exit(EXIT_FAILURE);
}
FILE *fp;
@ -45,12 +49,12 @@ int readAssemblyFile(char inputFile[]) {
fp = fopen(inputFile, "r");
if(fp == NULL){
return(-1);
exit(EXIT_FAILURE);
}
while (fgets(savedLine, MAX_ASM_LINE_LENGTH-1, fp) != NULL) {
//pass line to parser
}
return(0);
exit(EXIT_SUCCESS);
}