You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2010/05/20 20:16:34 UTC

svn commit: r946740 - in /tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf: B2CConverter.java UDecoder.java

Author: kkolinko
Date: Thu May 20 18:16:34 2010
New Revision: 946740

URL: http://svn.apache.org/viewvc?rev=946740&view=rev
Log:
CTR: Tabs to 8 spaces. No functional change.

Technically, it is a merge of r451510 and r519362 from tc5.5.x.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/UDecoder.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java?rev=946740&r1=946739&r2=946740&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java Thu May 20 18:16:34 2010
@@ -50,10 +50,10 @@ public class B2CConverter {
     /** Create a converter, with bytes going to a byte buffer
      */
     public B2CConverter(String encoding)
-	throws IOException
+        throws IOException
     {
-	this.encoding=encoding;
-	reset();
+        this.encoding=encoding;
+        reset();
     }
 
     
@@ -61,7 +61,7 @@ public class B2CConverter {
      *  The encoding remain in effect, the internal buffers remain allocated.
      */
     public  void recycle() {
-	conv.recycle();
+        conv.recycle();
     }
 
     static final int BUFFER_SIZE=8192;
@@ -71,10 +71,10 @@ public class B2CConverter {
      * @deprecated
      */
     public  void convert( ByteChunk bb, CharChunk cb )
-	throws IOException
+        throws IOException
     {
-	// Set the ByteChunk as input to the Intermediate reader
-	convert(bb, cb, cb.getBuffer().length - cb.getEnd());
+        // Set the ByteChunk as input to the Intermediate reader
+        convert(bb, cb, cb.getBuffer().length - cb.getEnd());
     }
 
     
@@ -82,39 +82,39 @@ public class B2CConverter {
         throws IOException
     {
         iis.setByteChunk( bb );
-	try {
-	    // read from the reader
-	    int bbLengthBeforeRead  = 0;
-	    while( limit > 0 ) { // conv.ready() ) {
+        try {
+            // read from the reader
+            int bbLengthBeforeRead  = 0;
+            while( limit > 0 ) { // conv.ready() ) {
                 int size = limit < BUFFER_SIZE ? limit : BUFFER_SIZE;
-        bbLengthBeforeRead = bb.getLength();
-		int cnt=conv.read( result, 0, size );
-		if( cnt <= 0 ) {
-		    // End of stream ! - we may be in a bad state
-		    if( debug>0)
-			log( "EOF" );
-		    return;
-		}
-		if( debug > 1 )
-		    log("Converted: " + new String( result, 0, cnt ));
-		cb.append( result, 0, cnt );
+                bbLengthBeforeRead = bb.getLength();
+                int cnt=conv.read( result, 0, size );
+                if( cnt <= 0 ) {
+                    // End of stream ! - we may be in a bad state
+                    if( debug>0)
+                        log( "EOF" );
+                    return;
+                }
+                if( debug > 1 )
+                    log("Converted: " + new String( result, 0, cnt ));
+                cb.append( result, 0, cnt );
                 limit = limit - (bbLengthBeforeRead - bb.getLength());
-	    }
-	} catch( IOException ex) {
-	    if( debug>0)
-		log( "Reseting the converter " + ex.toString() );
-	    reset();
-	    throw ex;
-	}
+            }
+        } catch( IOException ex) {
+            if( debug>0)
+                log( "Reseting the converter " + ex.toString() );
+            reset();
+            throw ex;
+        }
     }
 
 
     public void reset()
-	throws IOException
+        throws IOException
     {
-	// destroy the reader/iis
-	iis=new IntermediateInputStream();
-	conv=new ReadConvertor( iis, encoding );
+        // destroy the reader/iis
+        iis=new IntermediateInputStream();
+        conv=new ReadConvertor( iis, encoding );
     }
 
     private final int debug=0;
@@ -135,45 +135,45 @@ public class B2CConverter {
 
 
     private  static String decodeString(ByteChunk mb, String enc)
-	throws IOException
+        throws IOException
     {
-	byte buff=mb.getBuffer();
-	int start=mb.getStart();
-	int end=mb.getEnd();
-	if( useNewString ) {
-	    if( enc==null) enc="UTF8";
-	    return new String( buff, start, end-start, enc );
-	}
-	B2CConverter b2c=null;
-	if( useSpecialDecoders &&
-	    (enc==null || "UTF8".equalsIgnoreCase(enc))) {
-	    if( utfD==null ) utfD=new UTF8Decoder();
-	    b2c=utfD;
-	}
-	if(decoders == null ) decoders=new Hashtable();
-	if( enc==null ) enc="UTF8";
-	b2c=(B2CConverter)decoders.get( enc );
-	if( b2c==null ) {
-	    if( useSpecialDecoders ) {
-		if( "UTF8".equalsIgnoreCase( enc ) ) {
-		    b2c=new UTF8Decoder();
-		}
-	    }
-	    if( b2c==null )
-		b2c=new B2CConverter( enc );
-	    decoders.put( enc, b2c );
-	}
-	if( conversionBuf==null ) conversionBuf=new CharChunk(1024);
-
-	try {
-	    conversionBuf.recycle();
-	    b2c.convert( this, conversionBuf );
-	    //System.out.println("XXX 1 " + conversionBuf );
-	    return conversionBuf.toString();
-	} catch( IOException ex ) {
-	    ex.printStackTrace();
-	    return null;
-	}
+        byte buff=mb.getBuffer();
+        int start=mb.getStart();
+        int end=mb.getEnd();
+        if( useNewString ) {
+            if( enc==null) enc="UTF8";
+            return new String( buff, start, end-start, enc );
+        }
+        B2CConverter b2c=null;
+        if( useSpecialDecoders &&
+            (enc==null || "UTF8".equalsIgnoreCase(enc))) {
+            if( utfD==null ) utfD=new UTF8Decoder();
+            b2c=utfD;
+        }
+        if(decoders == null ) decoders=new Hashtable();
+        if( enc==null ) enc="UTF8";
+        b2c=(B2CConverter)decoders.get( enc );
+        if( b2c==null ) {
+            if( useSpecialDecoders ) {
+                if( "UTF8".equalsIgnoreCase( enc ) ) {
+                    b2c=new UTF8Decoder();
+                }
+            }
+            if( b2c==null )
+                b2c=new B2CConverter( enc );
+            decoders.put( enc, b2c );
+        }
+        if( conversionBuf==null ) conversionBuf=new CharChunk(1024);
+
+        try {
+            conversionBuf.recycle();
+            b2c.convert( this, conversionBuf );
+            //System.out.println("XXX 1 " + conversionBuf );
+            return conversionBuf.toString();
+        } catch( IOException ex ) {
+            ex.printStackTrace();
+            return null;
+        }
     }
 
     */
@@ -195,24 +195,24 @@ final class  ReadConvertor extends Input
     /** Create a converter.
      */
     public ReadConvertor( IntermediateInputStream in, String enc )
-	throws UnsupportedEncodingException
+        throws UnsupportedEncodingException
     {
-	super( in, enc );
-	iis=in;
+        super( in, enc );
+        iis=in;
     }
     
     /** Overriden - will do nothing but reset internal state.
      */
     public  final void close() throws IOException {
-	// NOTHING
-	// Calling super.close() would reset out and cb.
+        // NOTHING
+        // Calling super.close() would reset out and cb.
     }
     
     public  final int read(char cbuf[], int off, int len)
-	throws IOException
+        throws IOException
     {
-	// will do the conversion and call write on the output stream
-	return super.read( cbuf, off, len );
+        // will do the conversion and call write on the output stream
+        return super.read( cbuf, off, len );
     }
     
     /** Reset the buffer
@@ -243,16 +243,16 @@ final class IntermediateInputStream exte
     }
     
     public  final void close() throws IOException {
-	// shouldn't be called - we filter it out in writer
-	throw new IOException("close() called - shouldn't happen ");
+        // shouldn't be called - we filter it out in writer
+        throw new IOException("close() called - shouldn't happen ");
     }
     
     public  final  int read(byte cbuf[], int off, int len) throws IOException {
-	return bc.substract(cbuf, off, len);
+        return bc.substract(cbuf, off, len);
     }
     
     public  final int read() throws IOException {
-	return bc.substract();
+        return bc.substract();
     }
 
     // -------------------- Internal methods --------------------

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/UDecoder.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/UDecoder.java?rev=946740&r1=946739&r2=946740&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/UDecoder.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/buf/UDecoder.java Thu May 20 18:16:34 2010
@@ -52,53 +52,53 @@ public final class UDecoder {
     /** URLDecode, will modify the source.
      */
     public void convert( ByteChunk mb, boolean query )
-	throws IOException
+        throws IOException
     {
-	int start=mb.getOffset();
-	byte buff[]=mb.getBytes();
-	int end=mb.getEnd();
+        int start=mb.getOffset();
+        byte buff[]=mb.getBytes();
+        int end=mb.getEnd();
 
-	int idx= ByteChunk.indexOf( buff, start, end, '%' );
+        int idx= ByteChunk.indexOf( buff, start, end, '%' );
         int idx2=-1;
         if( query )
             idx2= ByteChunk.indexOf( buff, start, end, '+' );
-	if( idx<0 && idx2<0 ) {
-	    return;
-	}
-
-	// idx will be the smallest positive inxes ( first % or + )
-	if( idx2 >= 0 && idx2 < idx ) idx=idx2;
-	if( idx < 0 ) idx=idx2;
+        if( idx<0 && idx2<0 ) {
+            return;
+        }
+
+        // idx will be the smallest positive inxes ( first % or + )
+        if( idx2 >= 0 && idx2 < idx ) idx=idx2;
+        if( idx < 0 ) idx=idx2;
 
     boolean noSlash = !(ALLOW_ENCODED_SLASH || query);
     
-	for( int j=idx; j<end; j++, idx++ ) {
-	    if( buff[ j ] == '+' && query) {
-		buff[idx]= (byte)' ' ;
-	    } else if( buff[ j ] != '%' ) {
-		buff[idx]= buff[j];
-	    } else {
-		// read next 2 digits
-		if( j+2 >= end ) {
-		    throw new CharConversionException("EOF");
-		}
-		byte b1= buff[j+1];
-		byte b2=buff[j+2];
-		if( !isHexDigit( b1 ) || ! isHexDigit(b2 ))
-		    throw new CharConversionException( "isHexDigit");
-		
-		j+=2;
-		int res=x2c( b1, b2 );
+        for( int j=idx; j<end; j++, idx++ ) {
+            if( buff[ j ] == '+' && query) {
+                buff[idx]= (byte)' ' ;
+            } else if( buff[ j ] != '%' ) {
+                buff[idx]= buff[j];
+            } else {
+                // read next 2 digits
+                if( j+2 >= end ) {
+                    throw new CharConversionException("EOF");
+                }
+                byte b1= buff[j+1];
+                byte b2=buff[j+2];
+                if( !isHexDigit( b1 ) || ! isHexDigit(b2 ))
+                    throw new CharConversionException( "isHexDigit");
+                
+                j+=2;
+                int res=x2c( b1, b2 );
         if (noSlash && (res == '/')) {
             throw new CharConversionException( "noSlash");
         }
-		buff[idx]=(byte)res;
-	    }
-	}
-
-	mb.setEnd( idx );
-	
-	return;
+                buff[idx]=(byte)res;
+            }
+        }
+
+        mb.setEnd( idx );
+        
+        return;
     }
 
     // -------------------- Additional methods --------------------
@@ -108,7 +108,7 @@ public final class UDecoder {
      *  Includes converting  '+' to ' '.
      */
     public void convert( CharChunk mb )
-	throws IOException
+        throws IOException
     {
         convert(mb, true);
     }
@@ -116,53 +116,53 @@ public final class UDecoder {
     /** In-buffer processing - the buffer will be modified
      */
     public void convert( CharChunk mb, boolean query )
-	throws IOException
+        throws IOException
     {
-	//	log( "Converting a char chunk ");
-	int start=mb.getOffset();
-	char buff[]=mb.getBuffer();
-	int cend=mb.getEnd();
+        //        log( "Converting a char chunk ");
+        int start=mb.getOffset();
+        char buff[]=mb.getBuffer();
+        int cend=mb.getEnd();
 
-	int idx= CharChunk.indexOf( buff, start, cend, '%' );
+        int idx= CharChunk.indexOf( buff, start, cend, '%' );
         int idx2=-1;
         if( query )
             idx2= CharChunk.indexOf( buff, start, cend, '+' );
-	if( idx<0 && idx2<0 ) {
-	    return;
-	}
-	
-	if( idx2 >= 0 && idx2 < idx ) idx=idx2; 
-	if( idx < 0 ) idx=idx2;
-
-	for( int j=idx; j<cend; j++, idx++ ) {
-	    if( buff[ j ] == '+' && query ) {
-		buff[idx]=( ' ' );
-	    } else if( buff[ j ] != '%' ) {
-		buff[idx]=buff[j];
-	    } else {
-		// read next 2 digits
-		if( j+2 >= cend ) {
-		    // invalid
-		    throw new CharConversionException("EOF");
-		}
-		char b1= buff[j+1];
-		char b2=buff[j+2];
-		if( !isHexDigit( b1 ) || ! isHexDigit(b2 ))
-		    throw new CharConversionException("isHexDigit");
-		
-		j+=2;
-		int res=x2c( b1, b2 );
-		buff[idx]=(char)res;
-	    }
-	}
-	mb.setEnd( idx );
+        if( idx<0 && idx2<0 ) {
+            return;
+        }
+        
+        if( idx2 >= 0 && idx2 < idx ) idx=idx2; 
+        if( idx < 0 ) idx=idx2;
+
+        for( int j=idx; j<cend; j++, idx++ ) {
+            if( buff[ j ] == '+' && query ) {
+                buff[idx]=( ' ' );
+            } else if( buff[ j ] != '%' ) {
+                buff[idx]=buff[j];
+            } else {
+                // read next 2 digits
+                if( j+2 >= cend ) {
+                    // invalid
+                    throw new CharConversionException("EOF");
+                }
+                char b1= buff[j+1];
+                char b2=buff[j+2];
+                if( !isHexDigit( b1 ) || ! isHexDigit(b2 ))
+                    throw new CharConversionException("isHexDigit");
+                
+                j+=2;
+                int res=x2c( b1, b2 );
+                buff[idx]=(char)res;
+            }
+        }
+        mb.setEnd( idx );
     }
 
     /** URLDecode, will modify the source
      *  Includes converting  '+' to ' '.
      */
     public void convert(MessageBytes mb)
-	throws IOException
+        throws IOException
     {
         convert(mb, true);
     }
@@ -170,24 +170,24 @@ public final class UDecoder {
     /** URLDecode, will modify the source
      */
     public void convert(MessageBytes mb, boolean query)
-	throws IOException
+        throws IOException
     {
-	
-	switch (mb.getType()) {
-	case MessageBytes.T_STR:
-	    String strValue=mb.toString();
-	    if( strValue==null ) return;
-	    mb.setString( convert( strValue, query ));
-	    break;
-	case MessageBytes.T_CHARS:
-	    CharChunk charC=mb.getCharChunk();
-	    convert( charC, query );
-	    break;
-	case MessageBytes.T_BYTES:
-	    ByteChunk bytesC=mb.getByteChunk();
-	    convert( bytesC, query );
-	    break;
-	}
+        
+        switch (mb.getType()) {
+        case MessageBytes.T_STR:
+            String strValue=mb.toString();
+            if( strValue==null ) return;
+            mb.setString( convert( strValue, query ));
+            break;
+        case MessageBytes.T_CHARS:
+            CharChunk charC=mb.getCharChunk();
+            convert( charC, query );
+            break;
+        case MessageBytes.T_BYTES:
+            ByteChunk bytesC=mb.getByteChunk();
+            convert( bytesC, query );
+            break;
+        }
     }
 
     // XXX Old code, needs to be replaced !!!!
@@ -200,10 +200,10 @@ public final class UDecoder {
     public final String convert(String str, boolean query)
     {
         if (str == null)  return  null;
-	
-	if( (!query || str.indexOf( '+' ) < 0) && str.indexOf( '%' ) < 0 )
-	    return str;
-	
+        
+        if( (!query || str.indexOf( '+' ) < 0) && str.indexOf( '%' ) < 0 )
+            return str;
+        
         StringBuffer dec = new StringBuffer();    // decoded string output
         int strPos = 0;
         int strLen = str.length();
@@ -238,11 +238,11 @@ public final class UDecoder {
                 strPos++;
                 continue;
             } else if (metaChar == '%') {
-		// We throw the original exception - the super will deal with
-		// it
-		//                try {
-		dec.append((char)Integer.
-			   parseInt(str.substring(strPos + 1, strPos + 3),16));
+                // We throw the original exception - the super will deal with
+                // it
+                //                try {
+                dec.append((char)Integer.
+                           parseInt(str.substring(strPos + 1, strPos + 3),16));
                 strPos += 3;
             }
         }
@@ -253,27 +253,27 @@ public final class UDecoder {
 
 
     private static boolean isHexDigit( int c ) {
-	return ( ( c>='0' && c<='9' ) ||
-		 ( c>='a' && c<='f' ) ||
-		 ( c>='A' && c<='F' ));
+        return ( ( c>='0' && c<='9' ) ||
+                 ( c>='a' && c<='f' ) ||
+                 ( c>='A' && c<='F' ));
     }
     
     private static int x2c( byte b1, byte b2 ) {
-	int digit= (b1>='A') ? ( (b1 & 0xDF)-'A') + 10 :
-	    (b1 -'0');
-	digit*=16;
-	digit +=(b2>='A') ? ( (b2 & 0xDF)-'A') + 10 :
-	    (b2 -'0');
-	return digit;
+        int digit= (b1>='A') ? ( (b1 & 0xDF)-'A') + 10 :
+            (b1 -'0');
+        digit*=16;
+        digit +=(b2>='A') ? ( (b2 & 0xDF)-'A') + 10 :
+            (b2 -'0');
+        return digit;
     }
 
     private static int x2c( char b1, char b2 ) {
-	int digit= (b1>='A') ? ( (b1 & 0xDF)-'A') + 10 :
-	    (b1 -'0');
-	digit*=16;
-	digit +=(b2>='A') ? ( (b2 & 0xDF)-'A') + 10 :
-	    (b2 -'0');
-	return digit;
+        int digit= (b1>='A') ? ( (b1 & 0xDF)-'A') + 10 :
+            (b1 -'0');
+        digit*=16;
+        digit +=(b2>='A') ? ( (b2 & 0xDF)-'A') + 10 :
+            (b2 -'0');
+        return digit;
     }
 
     private final static int debug=0;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org