Package: jacksum Version: 1.7.0-2 Severity: normal Tags: patch Dear all,
I wrote a patch for this bug. Please find the patch attached to this e-mail. Regards, Ralph
--- source/jonelo/jacksum/cli/Jacksum.java 2006-07-29 00:17:00.000000000 +0200 +++ source/jonelo/jacksum/cli/Jacksum_patch.java 2009-08-20 19:41:08.000000000 +0200 @@ -983,20 +983,23 @@ _t=false; checksum.setTimestampFormat(null); } - checksum.setFilename(""); - String s=null; + checksum.setFilename("-"); + int i=0; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + StringBuffer sb=new StringBuffer(1000001); try { do { - s=in.readLine(); - if (s!=null) { + i=in.read(); + if (i > -1) { // better than s=s+"\n"; - StringBuffer sb=new StringBuffer(s.length()+1); - sb.insert(0,s); - sb.insert(s.length(),'\n'); - checksum.update(sb.toString().getBytes()); + sb.append((char) i); + if (sb.length() > 1000000) { //process System.in in chunks + checksum.update(sb.toString().getBytes()); + sb=new StringBuffer(1000001); + } } - } while (s!=null); + } while (i > -1); + checksum.update(sb.toString().getBytes()); summary.addBytes(checksum.getLength()); if (_e) expectation(checksum,expected); else System.out.println(checksum.toString());