Changeset 1082 for trunk/dll/init.c


Ignore:
Timestamp:
Jul 20, 2008, 12:37:36 AM (17 years ago)
Author:
Gregg Young
Message:

Changes so FM2 will use TMP/TEMP directory for all temp files; Replaced save_dir2 with global variable so BldFullPathName could easily replace code that performed the same function; Added #ifdef FORTIFY to free_ function that are only used when fortified.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/init.c

    r1077 r1082  
    5151  16 JUL 08 GKY Use TMP directory for temp files
    5252  17 Jul 08 SHL Reduce code bulk in fUseTmp setup
     53  19 Jul 08 GKY Use pFM2SaveDirectory, MakeTempName and move temp files to TMP subdirectory if (TMP).
    5354
    5455***********************************************************************/
     
    514515    }
    515516  }
    516 
    517   save_dir(s);
     517  if (pTmpDir)
     518    strcpy(s, pTmpDir);
     519  else
     520    save_dir2(s);
    518521  if (s[strlen(s) - 1] != '\\')
    519522    strcat(s, "\\");
    520523  enddir = &s[strlen(s)];
    521   strcat(s, LISTTEMPROOT);
     524  strcat(s, "$FM2LI$T");
    522525  strcat(s, "???");
    523526  search_handle = HDIR_CREATE;
     
    541544  BldFullPathName(szTempFile, pTmpDir, "$FM2PLAY.$$$");
    542545  DosForceDelete(szTempFile);
     546  if (pTmpDir) {
     547    wipeallf("%s\\*", pTmpDir);
     548    DosDeleteDir(pTmpDir);
     549  }
    543550  EndNote();
    544551  if (FM3ModHandle)
     
    650657  }
    651658
    652   /* set up default root names for temp archive goodies */
     659  // set up default root names for temp file storage and archive goodies
    653660  env = getenv("TMP");
    654661  if (env == NULL)
     
    659666    if (!rc) {
    660667      if (fs3.attrFile & FILE_DIRECTORY) {
    661         // 17 Jul 08 SHL fixme to check writable someday
    662         pTmpDir = xstrdup(env, pszSrcFile, __LINE__);
     668        CHAR szTempName[CCHMAXPATH];
     669        APIRET ret = 0;
     670        // 17 Jul 08 SHL fixme to check writable someday
     671        strcpy(szTempName, env);
     672        //if (szTempName[strlen(szTempName) - 1] != '\\')
     673        //  strcat(szTempName, "\\");
     674        MakeTempName(szTempName, NULL, 1);
     675        ret = DosCreateDir(szTempName, 0);
     676        if (!ret) {
     677          pTmpDir = xstrdup(szTempName, pszSrcFile, __LINE__);
     678        }
    663679      }
    664680    }
     
    666682  BldFullPathName(ArcTempRoot, pTmpDir, fAmAV2 ? "$AV$ARC$" : "$FM$ARC$");
    667683
    668   /* initialize random number generator */
     684  //Save the FM2 save directory name. This is the location of the ini, dat files etc.
     685  {
     686    CHAR temp[CCHMAXPATH];
     687    save_dir2(temp);
     688    pFM2SaveDirectory = xstrdup(temp, pszSrcFile, __LINE__);
     689  }
     690
     691  // initialize random number generator
    669692  srand(time(NULL) + clock());
    670693
Note: See TracChangeset for help on using the changeset viewer.