From: <doc...@us...> - 2008-10-17 15:59:21
|
Revision: 222 http://openpcl.svn.sourceforge.net/openpcl/?rev=222&view=rev Author: documentsystems Date: 2008-10-17 15:59:12 +0000 (Fri, 17 Oct 2008) Log Message: ----------- Fix algorithm for decompressing run length compression in decompressRL. Previously the control byte value was interpreted as one-based but it should be zero-based. I.e. zero means include the following byte value one time. Modified Paths: -------------- openpcl/src/com/openpcl/pclrenderimage/render/PriDecompressPclBytes.java Modified: openpcl/src/com/openpcl/pclrenderimage/render/PriDecompressPclBytes.java =================================================================== --- openpcl/src/com/openpcl/pclrenderimage/render/PriDecompressPclBytes.java 2008-10-17 15:56:51 UTC (rev 221) +++ openpcl/src/com/openpcl/pclrenderimage/render/PriDecompressPclBytes.java 2008-10-17 15:59:12 UTC (rev 222) @@ -96,12 +96,14 @@ while (dataCount-- > 0) { int cntrlByte = (int) data[dataStartOffset++]; - + // Repeated pattern int val = data[dataStartOffset++]; dataCount--; - while (cntrlByte-- > 0) + while (cntrlByte >= 0) { decompressed.add(numberOfDecompressedBytes++, new Byte((byte) val)); + cntrlByte--; + } } mMaxUncompressedByteCount = numberOfDecompressedBytes; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |