X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=streams%2FReplaceInputStream.java;h=ae576e25e7a4833e9ce8f4bea25616ff018eca52;hb=2e6426c0e430244113c990e278dce1f500504fe2;hp=1cc5139beae1e012053f62dece957076add4dfee;hpb=8a3548eba34084768ad54c08866d94b17a250542;p=nikiroo-utils.git diff --git a/streams/ReplaceInputStream.java b/streams/ReplaceInputStream.java index 1cc5139..ae576e2 100644 --- a/streams/ReplaceInputStream.java +++ b/streams/ReplaceInputStream.java @@ -114,7 +114,8 @@ public class ReplaceInputStream extends BufferedInputStream { } // We need at least maxFromSize so we can iterate and replace - source = new byte[Math.max(2 * maxFromSize, MIN_BUFFER_SIZE)]; + source = new byte[Math.max(2 * Math.max(maxToSize, maxFromSize), + MIN_BUFFER_SIZE)]; spos = 0; slen = 0; } @@ -141,11 +142,11 @@ public class ReplaceInputStream extends BufferedInputStream { if (froms[i] != null && froms[i].length > 0 && StreamUtils.startsWith(froms[i], source, spos, slen)) { if (tos[i] != null && tos[i].length > 0) { - System.arraycopy(tos[i], 0, buffer, off + spos, + System.arraycopy(tos[i], 0, buffer, off + count, tos[i].length); count += tos[i].length; } - + spos += froms[i].length; replaced = true; break;