temp file cleanup fix by Dario Vecchio
authorkvigor <kvigor@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 4 May 2001 16:42:59 +0000 (16:42 +0000)
committerkvigor <kvigor@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 4 May 2001 16:42:59 +0000 (16:42 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@773 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCmain.c

index 8c88fabc2e91feaa05eb703255fe6126fef9e66f..1eedfda51c9b8a50eda25a5196c1c7d8df8f3e48 100644 (file)
@@ -1413,6 +1413,13 @@ preProcess (char **envp)
                    preOutName, srcFileName, preArgv);
       if (my_system (buffer))
        {
+          // @FIX: Dario Vecchio 03-05-2001
+          if (preOutName)
+            {
+              unlink (preOutName);
+              free (preOutName);
+            }
+          // EndFix
          exit (1);
        }
 
@@ -1534,6 +1541,15 @@ main (int argc, char **argv, char **envp)
 
          if (fatalError)
            {
+              // @FIX: Dario Vecchio 03-05-2001
+              if (preOutName)
+                {
+                  if (yyin && yyin != stdin)
+                    fclose (yyin);
+                  unlink (preOutName);
+                  free (preOutName);
+                }
+              // EndFix
              return 1;
            }
          if (!options.c1mode)
@@ -1545,6 +1561,15 @@ main (int argc, char **argv, char **envp)
        }
       else
        {
+          // @FIX: Dario Vecchio 03-05-2001
+          if (preOutName)
+            {
+              if (yyin && yyin != stdin)
+                fclose (yyin);
+              unlink (preOutName);
+              free (preOutName);
+            }
+          // EndFix
          return 1;
        }