| 4190 | } |
| 4191 | |
| 4192 | @Override |
| 4193 | public void write(int b) { |
| 4194 | int newsize = size + 1; |
| 4195 | if (buf != null) { |
| 4196 | if (newsize > maxsize && maxsize >= 0) { |
| 4197 | buf = null; |
| 4198 | } else if (newsize > buf.length) { |
| 4199 | byte newbuf[] = new byte[Math.max(buf.length << 1, newsize)]; |
| 4200 | System.arraycopy(buf, 0, newbuf, 0, size); |
| 4201 | buf = newbuf; |
| 4202 | buf[size] = (byte)b; |
| 4203 | } else { |
| 4204 | buf[size] = (byte)b; |
| 4205 | } |
| 4206 | } |
| 4207 | size = newsize; |
| 4208 | } |
| 4209 | |
| 4210 | @Override |
| 4211 | public void write(byte b[], int off, int len) { |