diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-02-09 01:32:06 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-02-09 01:32:06 +0330 |
commit | de52585a1b2736a6a788ebc57000d7496f259e64 (patch) | |
tree | 9fdcf25c5074f850f1fab0658efee0ae7f95599d /src/main.c | |
parent | cb26dd0fc9c1e33be1c32eb85b04434526004e6a (diff) |
fix some memory leak
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -94,13 +94,15 @@ static int run(const char *filePath, bool print) { if (print) astTreeRootPrint(astTree); + int ret; if (runAstTree(astTree)) { - astTreeRootDelete(astTree); - return 0; + ret = 0; } else { - astTreeRootDelete(astTree); - return 1; + ret = 1; } + astTreeRootDelete(astTree); + + return ret; RETURN_ERROR: free(code); @@ -108,12 +110,14 @@ RETURN_ERROR: } int main(int argc, char *argv[]) { + fileInit(); if (argc < 2) { // compileRun("test/main.felan", "build/out", false); - run("test/main.felan", false); + // run("test/main.felan", false); printLog("Too few args"); return 1; } - return run(argv[1], false); + const int ret = run(argv[1], false); + fileDelete(); } |