Fixed
This commit is contained in:
parent
f400ababd5
commit
29848ec4a0
@ -402,7 +402,6 @@ int __ntsys_arg_function_loader(ntsys_argument_parser_t* parser) {
|
||||
if (select_argument(parser) == EXIT_FAILURE) return EXIT_FAILURE;
|
||||
}
|
||||
if (parser->is_rewrite == 0) *parser->file_size = ftell(parser->fp) + 1;
|
||||
fflush(parser->fp);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
@ -64,13 +64,6 @@ int ntsys_compile_asm(char* filename, char* asm_out) {
|
||||
ntsys_error("Cannot open assembler file!");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
FILE* fw = fopen(asm_out, "wb");
|
||||
FILE* tmp = tmpfile();
|
||||
if (fw == NULL || tmp == NULL) {
|
||||
ntsys_error("Cannot create or rewrite output file!");
|
||||
fclose(fp);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
char* st = NULL;
|
||||
size_t mem_pos = 0;
|
||||
size_t lb_size = 0;
|
||||
@ -94,12 +87,17 @@ int ntsys_compile_asm(char* filename, char* asm_out) {
|
||||
rewind(fp);
|
||||
size_t labels_count = 0;
|
||||
dword_t fsz = 0;
|
||||
FILE* tmp = tmpfile();
|
||||
if (tmp == NULL) {
|
||||
ntsys_error("Cannot create or rewrite output file!");
|
||||
fclose(fp);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
while ((st = ntsys_get_str(st, fp)) != NULL) {
|
||||
if (ntsys_asm_from_string(&mem_pos, st, tmp, 0, labels, labels_pos, &labels_count, &fsz) != EXIT_SUCCESS) {
|
||||
free(st);
|
||||
fclose(fp);
|
||||
fclose(tmp);
|
||||
fclose(fw);
|
||||
size_t i = 0;
|
||||
while (i < lb_size) {
|
||||
if (labels[i] != NULL) free(labels[i]);
|
||||
@ -111,12 +109,18 @@ int ntsys_compile_asm(char* filename, char* asm_out) {
|
||||
}
|
||||
}
|
||||
free(st);
|
||||
fclose(tmp);
|
||||
rewind(fp);
|
||||
FILE* fw = fopen(asm_out, "wb");
|
||||
if (fw == NULL) {
|
||||
ntsys_error("Cannot create or rewrite output file!");
|
||||
fclose(fp);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
while ((st = ntsys_get_str(st, fp)) != NULL) {
|
||||
if (ntsys_asm_from_string(&mem_pos, st, fw, 1, labels, labels_pos, &labels_count, &fsz) != EXIT_SUCCESS) {
|
||||
free(st);
|
||||
fclose(fp);
|
||||
fclose(tmp);
|
||||
fclose(fw);
|
||||
size_t i = 0;
|
||||
while (i < lb_size) {
|
||||
@ -128,7 +132,6 @@ int ntsys_compile_asm(char* filename, char* asm_out) {
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
fclose(tmp);
|
||||
fflush(fw);
|
||||
free(st);
|
||||
fclose(fp);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user