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>