You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by el...@apache.org on 2004/06/16 17:57:28 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/dv/util Base64.java

elena       2004/06/16 08:57:28

  Modified:    java/src/org/apache/xerces/impl/dv/util Base64.java
  Log:
  Update implementation according to the errata: http://www.w3.org/2001/05/xmlschema-errata#e2-54
  
  Revision  Changes    Path
  1.10      +3 -41     xml-xerces/java/src/org/apache/xerces/impl/dv/util/Base64.java
  
  Index: Base64.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/util/Base64.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Base64.java	24 Feb 2004 22:44:26 -0000	1.9
  +++ Base64.java	16 Jun 2004 15:57:28 -0000	1.10
  @@ -114,55 +114,19 @@
           int      fewerThan24bits   = lengthDataBits%TWENTYFOURBITGROUP;
           int      numberTriplets    = lengthDataBits/TWENTYFOURBITGROUP;
           int      numberQuartet     = fewerThan24bits != 0 ? numberTriplets+1 : numberTriplets;
  -        int      numberLines       = (numberQuartet-1)/19+1;
           char     encodedData[]     = null;
   
  -        encodedData = new char[numberQuartet*4+numberLines];
  +        encodedData = new char[numberQuartet*4];
   
           byte k=0, l=0, b1=0,b2=0,b3=0;
   
           int encodedIndex = 0;
           int dataIndex   = 0;
  -        int i           = 0;
           if (fDebug) {
               System.out.println("number of triplets = " + numberTriplets );
           }
   
  -        for (int line = 0; line < numberLines-1; line++) {
  -            for (int quartet = 0; quartet < 19; quartet++) {
  -                b1 = binaryData[dataIndex++];
  -                b2 = binaryData[dataIndex++];
  -                b3 = binaryData[dataIndex++];
  -
  -                if (fDebug) {
  -                    System.out.println( "b1= " + b1 +", b2= " + b2 + ", b3= " + b3 );
  -                }
  -
  -                l  = (byte)(b2 & 0x0f);
  -                k  = (byte)(b1 & 0x03);
  -
  -                byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
  -
  -                byte val2 = ((b2 & SIGN)==0)?(byte)(b2>>4):(byte)((b2)>>4^0xf0);
  -                byte val3 = ((b3 & SIGN)==0)?(byte)(b3>>6):(byte)((b3)>>6^0xfc);
  -
  -                if (fDebug) {
  -                    System.out.println( "val2 = " + val2 );
  -                    System.out.println( "k4   = " + (k<<4));
  -                    System.out.println( "vak  = " + (val2 | (k<<4)));
  -                }
  -
  -                encodedData[encodedIndex++] = lookUpBase64Alphabet[ val1 ];
  -                encodedData[encodedIndex++] = lookUpBase64Alphabet[ val2 | ( k<<4 )];
  -                encodedData[encodedIndex++] = lookUpBase64Alphabet[ (l <<2 ) | val3 ];
  -                encodedData[encodedIndex++] = lookUpBase64Alphabet[ b3 & 0x3f ];
  -
  -                i++;
  -            }
  -            encodedData[encodedIndex++] = 0xa;
  -        }
  -
  -        for (; i<numberTriplets; i++) {
  +        for (int i=0; i<numberTriplets; i++) {
               b1 = binaryData[dataIndex++];
               b2 = binaryData[dataIndex++];
               b3 = binaryData[dataIndex++];
  @@ -219,8 +183,6 @@
               encodedData[encodedIndex++] = PAD;
           }
   
  -        encodedData[encodedIndex] = 0xa;
  -        
           return new String(encodedData);
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org