You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/01/29 16:20:25 UTC

cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf MessageBytes.java

remm        2003/01/29 07:20:25

  Modified:    util/java/org/apache/tomcat/util/buf MessageBytes.java
  Log:
  - Byte based setInt.
  
  Revision  Changes    Path
  1.8       +33 -6     jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java
  
  Index: MessageBytes.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MessageBytes.java	12 Jul 2002 18:00:14 -0000	1.7
  +++ MessageBytes.java	29 Jan 2003 15:20:25 -0000	1.8
  @@ -583,13 +583,40 @@
        *  be done in headers
        */
       public void setInt(int i) {
  -	// XXX replace it with a byte[] tool
   	recycle();
  -	strValue=String.valueOf( i );
  -	intValue=i;
  -	hasIntValue=true;
  -	hasStrValue=true;
  -    	type=T_STR;
  +        byteC.allocate(16, 32);
  +        int current = i;
  +        byte[] buf = byteC.getBuffer();
  +        int start = 0;
  +        int end = 0;
  +        if (i == 0) {
  +            buf[end++] = (byte) '0';
  +        }
  +        if (i < 0) {
  +            current = -i;
  +            buf[end++] = (byte) '-';
  +        }
  +        while (current > 0) {
  +            int digit = current % 10;
  +            current = current / 10;
  +            buf[end++] = HexUtils.HEX[digit];
  +        }
  +        byteC.setEnd(end);
  +        // Inverting buffer
  +        end--;
  +        if (i < 0) {
  +            start++;
  +        }
  +        while (end > start) {
  +            byte temp = buf[start];
  +            buf[start] = buf[end];
  +            buf[end] = temp;
  +            start++;
  +            end--;
  +        }
  +        intValue=i;
  +        hasIntValue=true;
  +        type=T_BYTES;
       }
   
   
  
  
  

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