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());