Fix file output (all assembly must be in one file)

This commit is contained in:
Augusto Gunsch 2021-01-04 17:12:32 -03:00
parent 553c87029f
commit 2de711957a
No known key found for this signature in database
GPG Key ID: F7EEFE29825C72DC
3 changed files with 5 additions and 5 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
jack-compiler
jackc
tags

4
main.c
View File

@ -57,19 +57,19 @@ int main(int argc, char* argv[]) {
actonunits(head, vmtranslateunit);
currunit = head;
FILE* output = fopen("out.asm", "w");
while(currunit != NULL) {
FILE* output = fopen(currunit->file->outname, "w");
if(output == NULL) {
eprintf("%s", strerror(errno));
exit(1);
}
printstrlist(currunit->asmlns, output);
fclose(output);
COMPILEUNIT* next = currunit->next;
freeunit(currunit);
currunit = next;
}
fclose(output);
freecompiler(compiler);
freetree(headclass);

View File

@ -93,9 +93,9 @@ bool isdir(char* f, int len) {
char* getoutname(char* fullname, int len) {
char* trimmed = trimstr(fullname, len, 4);
int sz = sizeof(char) * (len);
int sz = sizeof(char) * (len-1);
char* outname = (char*)malloc(sz);
snprintf(outname, sz, "%sasm", trimmed);
snprintf(outname, sz, "%svm", trimmed);
free(trimmed);
return outname;
}