' *** PATHSRCH.LST *** 2nd GFA-Manual, page 11-23 > PROCEDURE path_search(file$,drive$,VAR file.path$) ' ' *** Find path of file$ in main directory and all folders on drive$ ' *** Returns complete file-path, e.g. "A:\GAMES\CHESS.GFA" ' *** Returns nullstring ("") if file$ not found ' *** With TOS 1.0 you should take into account the 40-folder limit ' LOCAL adr%,adr$,folder,folder$,path$ adr%=FGETDTA() adr$=SPACE$(44) ~FSETDTA(V:adr$) ! temporary DTA-buffer file$=UPPER$(file$) IF INSTR(drive$,":") path$=UPPER$(drive$)+"\" ELSE path$=UPPER$(drive$)+":\" ENDIF IF EXIST(path$+file$) file.path$=path$+file$ ELSE folder=FSFIRST(path$+"*.*"+CHR$(0),16) DO WHILE folder=0 folder$=CHAR{V:adr$+30} IF folder$<>"." AND folder$<>".." @path_search(file$,path$+folder$,file.path$) ! recursive call ENDIF folder=FSNEXT() LOOP UNTIL LEN(file.path$) ENDIF ~FSETDTA(adr%) ! restore original DTA-buffer RETURN ' ********* '