donaldp     2002/10/30 22:59:38

  Modified:    loader/src/java/org/apache/excalibur/loader/builder
                        DefaultLoaderResolver.java
  Log:
  Make sure all paths are handled well (even those that start with . or ./)
  
  Revision  Changes    Path
  1.3       +18 -3     
jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/DefaultLoaderResolver.java
  
  Index: DefaultLoaderResolver.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/DefaultLoaderResolver.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultLoaderResolver.java        31 Oct 2002 00:27:53 -0000      1.2
  +++ DefaultLoaderResolver.java        31 Oct 2002 06:59:38 -0000      1.3
  @@ -106,10 +106,16 @@
               throw new IllegalArgumentException( message );
           }
   
  +        String prefix = "";
  +        if( 0 != path.length() )
  +        {
  +            prefix = path + "/";
  +        }
  +
           for( int i = 0; i < files.length; i++ )
           {
               final File file = files[ i ];
  -            final String newPath = path + "/" + file.getName();
  +            final String newPath = prefix + file.getName();
               if( file.isDirectory() )
               {
                   scanDir( file, matcher, newPath, urls );
  @@ -144,6 +150,11 @@
       private String[] prefixPatterns( final String prefix,
                                        final String[] patterns )
       {
  +        if( 0 == prefix.length() )
  +        {
  +            return patterns;
  +        }
  +
           final String[] newPatterns = new String[ patterns.length ];
           for( int i = 0; i < newPatterns.length; i++ )
           {
  @@ -184,7 +195,11 @@
        */
       private static final String normalize( String path )
       {
  -        if( path.length() < 2 )
  +        if( ".".equals( path ) || "./".equals( path ) )
  +        {
  +            return "";
  +        }
  +        else if( path.length() < 2 )
           {
               return path;
           }
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>

Reply via email to