C+ C NAME: C bTempFile C PURPOSE: C Rename an existing file giving it a unique file name C CATEGORY: C File system C CALLING SEQUENCE: logical function bTempFile(cFile,cTmpFile) C INPUTS: C cFile character*(*) file to be renamed C OUTPUTS: C cTmpFile character*(*) fully-qualified, new, unique file name C CALLS: C iGetLogical, iGetFileSpec, iSetFileSpec, iUniqueName C iOSRenameFile, Say, iFilePath C INCLUDE: include 'dirspec.h' include 'filparts.h' C PROCEDURE: C > The specified file is moved to directory $temp and is given a unique name C DEPENDENCY TREE: C (FORSTR.F LOGMODFILE.F OSCALLS.F) C C iSetFileSpec C iGetFileSpec C iPutFileSpec C iFilePath C (see above) C iUniqueName C (see above) C iGetLogical C itrim C LogModFile C itrim C bGetLun C iGetLun C iFreeLun C iOSRenameFile *(system call) C iOSDeleteFile *(system call) C iOSRenameFile *(system call) C iGetDefaultDir ? C MODIFICATION HISTORY: C SEP-1999, Paul Hick (UCSD; pphick@ucsd.edu) C- character cFile *(*) character cTmpFile*(*) character cSave*(FIL__LENGTH) character cTmp *(FIL__LENGTH) if (iGetLogical(cTemp,cTmp) .ne. 0) then I = iGetFileSpec(0,0,cSave) ! Save stored file spec I = iSetFileSpec(cFile) ! Input file spec I = iGetFileSpec(FIL__NAME,0,cTmp) ! File name only I = iFilePath(cTemp,0,' ',cTmp,cTmp)! Same file name in cTemp I = iSetFileSpec(cSave) ! Restore original file spec else cTmp = cFile end if I = iUniqueName(cTmp,cTmp) ! Make cTmp unique I = iOSRenameFile(cFile,cTmp) ! Move the file to $temp if (I .eq. 0) call Say('bTempFile','W',cFile,'failed creating temp file') bTempFile = I .eq. 1 cTmpFile = cTmp return end