FUNCTION TestLegalFileName(tcFileNameToTest, tcTargetPath) LOCAL cTempDir, nFH, cOldErrorHandler IF TYPE('tcFileNameToTest') # 'C' RETURN .F. ENDIF cTempDir = ADDBS(FULLPATH(IIF(TYPE('tcTargetPath') # 'C' OR LEN(tcTargetPath) = 0,'.',tcTargetPath)))+SYS(3) DO WHILE DIRECTORY(cTempDir) cTempDir = LEFT(cTempDir,RAT('\',cTempDir))+SYS(3) ENDDO cOldErrorHandler = ON('ERROR') nFH = 0 ON ERROR nFH = -1 MKDIR (cTempDir) IF nFH = 0 nFH = FCREATE(cTempDir+'\'+tcFileNameToTest) IF nFH > 0 * OK =FCLOSE(nFH) ERASE (cTempDir+'\'+tcFileNameToTest) ENDIF RMDIR (cTempDir) ENDIF ON ERROR &cOldErrorHandler RETURN nFH > 0