You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ad...@apache.org on 2002/11/01 04:20:58 UTC
cvs commit: jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider UriParser.java
adammurdoch 2002/10/31 19:20:58
Modified: vfs/src/java/org/apache/commons/vfs/provider UriParser.java
Log:
Fixed checkName( "/", ..., NameScope.DESCENDENT_OR_SELF ).
Revision Changes Path
1.9 +17 -10 jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/UriParser.java
Index: UriParser.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/UriParser.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- UriParser.java 31 Oct 2002 10:40:57 -0000 1.8
+++ UriParser.java 1 Nov 2002 03:20:58 -0000 1.9
@@ -487,11 +487,21 @@
final String path,
final NameScope scope )
{
+ if ( scope == NameScope.FILE_SYSTEM )
+ {
+ // All good
+ return true;
+ }
+
+ if ( !path.startsWith( basePath ) )
+ {
+ return false;
+ }
+ final int baseLen = basePath.length();
+
if ( scope == NameScope.CHILD )
{
- final int baseLen = basePath.length();
- if ( !path.startsWith( basePath )
- || path.length() == baseLen
+ if ( path.length() == baseLen
|| ( baseLen > 1 && path.charAt( baseLen ) != separatorChar )
|| path.indexOf( separatorChar, baseLen + 1 ) != -1 )
{
@@ -500,9 +510,7 @@
}
else if ( scope == NameScope.DESCENDENT )
{
- final int baseLen = basePath.length();
- if ( !path.startsWith( basePath )
- || path.length() == baseLen
+ if ( path.length() == baseLen
|| ( baseLen > 1 && path.charAt( baseLen ) != separatorChar ) )
{
return false;
@@ -510,10 +518,9 @@
}
else if ( scope == NameScope.DESCENDENT_OR_SELF )
{
- final int baseLen = basePath.length();
- if ( !path.startsWith( basePath )
- || ( path.length() != baseLen
- && path.charAt( baseLen ) != separatorChar ) )
+ if ( baseLen > 1
+ && path.length() > baseLen
+ && path.charAt( baseLen ) != separatorChar )
{
return false;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>