|
@@ -905,14 +905,18 @@ end;
|
|
|
|
|
|
function TPas2jsCachedDirectories.DirectoryExists(Filename: string): boolean;
|
|
|
var
|
|
|
- Info: TFileInfo;
|
|
|
+ Dir: TPas2jsCachedDirectory;
|
|
|
begin
|
|
|
- Info.Filename:=Filename;
|
|
|
- if not GetFileInfo(Info) then exit(false);
|
|
|
- if Info.Dir<>nil then
|
|
|
- Result:=(Info.Dir.FileAttr(Info.ShortFilename) and faDirectory)>0
|
|
|
+ Dir:=GetDirectory(Filename,true,false);
|
|
|
+ if Dir<>nil then
|
|
|
+ Result:=Dir.Count>0
|
|
|
else
|
|
|
- Result:={$IFDEF pas2js}NodeJSFS{$ELSE}SysUtils{$ENDIF}.DirectoryExists(Info.Filename);
|
|
|
+ begin
|
|
|
+ Filename:=ChompPathDelim(ResolveDots(Filename));
|
|
|
+ if not FilenameIsAbsolute(Filename) then
|
|
|
+ Filename:=WorkingDirectory+Filename;
|
|
|
+ Result:={$IFDEF pas2js}NodeJSFS{$ELSE}SysUtils{$ENDIF}.DirectoryExists(Filename);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
function TPas2jsCachedDirectories.FileExists(Filename: string): boolean;
|
|
@@ -1487,8 +1491,9 @@ procedure TPas2jsFilesCache.WriteFoldersAndSearchPaths;
|
|
|
procedure WriteFolder(aName, Folder: string);
|
|
|
begin
|
|
|
if Folder='' then exit;
|
|
|
+ Folder:=ChompPathDelim(Folder);
|
|
|
Log.LogMsgIgnoreFilter(nUsingPath,[aName,Folder]);
|
|
|
- if not DirectoryExists(ChompPathDelim(Folder)) then
|
|
|
+ if not DirectoryExists(Folder) then
|
|
|
Log.LogMsgIgnoreFilter(nFolderNotFound,[aName,QuoteStr(Folder)]);
|
|
|
end;
|
|
|
|