? Makefile ? classes ? config.log ? config.status ? inetlib.jar Index: source/gnu/inet/util/BASE64.java =================================================================== RCS file: /sources/classpath/inetlib/source/gnu/inet/util/BASE64.java,v retrieving revision 1.10 diff -u -r1.10 BASE64.java --- source/gnu/inet/util/BASE64.java 25 Aug 2005 12:32:03 -0000 1.10 +++ source/gnu/inet/util/BASE64.java 8 Jan 2010 17:45:56 -0000 @@ -131,12 +126,13 @@ */ public static byte[] decode(byte[] bs) { - int srclen = bs.length; - while (srclen > 0 && bs[srclen - 1] == 0x3d) + int padding = 0; + while (bs.length - padding > 0 && bs[bs.length - padding - 1] == 0x3d) { - srclen--; /* strip padding character */ + padding++; } - byte[] buffer = new byte[srclen]; + int srclen = bs.length - padding; /* strip padding characters */ + byte[] buffer = new byte[(bs.length / 4) * 3 - padding]; /* target array */ int buflen = 0; int si = 0; int len = srclen - si; @@ -159,9 +155,7 @@ } len = srclen - si; } - byte[] bt = new byte[buflen]; - System.arraycopy(buffer, 0, bt, 0, buflen); - return bt; + return buffer; } public static void main(String[] args)