From: <va...@us...> - 2008-06-29 01:37:56
|
Revision: 12963 http://jedit.svn.sourceforge.net/jedit/?rev=12963&view=rev Author: vanza Date: 2008-06-28 18:37:52 -0700 (Sat, 28 Jun 2008) Log Message: ----------- When doing a recursive directory listing, resolve symlinks and add the canonical path to the stack to avoid loops. But list based on the user-provided path, so that the returned file list does not have resolved symlinks. Modified Paths: -------------- jEdit/trunk/org/gjt/sp/jedit/io/VFS.java Modified: jEdit/trunk/org/gjt/sp/jedit/io/VFS.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/io/VFS.java 2008-06-29 01:10:10 UTC (rev 12962) +++ jEdit/trunk/org/gjt/sp/jedit/io/VFS.java 2008-06-29 01:37:52 UTC (rev 12963) @@ -216,7 +216,7 @@ this.caps = caps; // reasonable defaults (?) this.extAttrs = new String[] { EA_SIZE, EA_TYPE }; - } + } /** * Creates a new virtual filesystem. @@ -257,7 +257,7 @@ /** * Returns if an additional markers file can be saved by this VFS. * Default is {@code true}. - * + * * @since jEdit 4.3pre10 */ public boolean isMarkersFileSupported() @@ -496,7 +496,7 @@ return true; } //}}} - //{{{ copy() methods + //{{{ copy() methods /** * Copy a file to another using VFS. * @@ -1086,8 +1086,8 @@ if (ct instanceof WorkThread) { wt = (WorkThread) ct; } - - + + VFSFile[] _files = _listFiles(session,directory, comp); if(_files == null || _files.length == 0) @@ -1110,7 +1110,11 @@ String canonPath = _canonPath(session, file.getPath(),comp); if(!MiscUtilities.isURL(canonPath)) - canonPath = MiscUtilities.resolveSymlinks(canonPath); + { + String resolvedPath = + MiscUtilities.resolveSymlinks(canonPath); + stack.add(resolvedPath); + } listFiles(session,stack,files, canonPath,filter,recursive, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |