> Laszlo, would you like any assistance with a debdiff or is lynxis'
> patch sufficient asis? You will have to patch the existing patch, if
> you see what I mean...

Here is an updated patch to match debian's state of squashfs-tools.

Best,
lynxis
Index: squashfs-tools-4.3/squashfs-tools/mksquashfs.c
===================================================================
--- squashfs-tools-4.3.orig/squashfs-tools/mksquashfs.c
+++ squashfs-tools-4.3/squashfs-tools/mksquashfs.c
@@ -2426,16 +2426,21 @@ void *deflator(void *arg)
 void frag_deflator(struct file_buffer *file_buffer)
 {
 	int res;
+	int c_byte, compressed_size;
+	struct file_buffer *write_buffer;
 
-	res = compressor_init(comp, &stream, block_size, 1);
-	if(res)
-		BAD_ERROR("frag_deflator:: compressor_init failed\n");
+	static int frag_deflator_comp_init = FALSE;
+	static void *frag_stream = NULL;
 
-	int c_byte, compressed_size;
-	struct file_buffer *write_buffer =
-			cache_get(fwriter_buffer, file_buffer->block);
+	if (frag_deflator_comp_init == FALSE) {
+		frag_deflator_comp_init = TRUE;
+		res = compressor_init(comp, &frag_stream, block_size, 1);
+		if(res)
+			BAD_ERROR("frag_deflator:: compressor_init failed\n");
+	}
 
-	c_byte = mangle2(stream, write_buffer->data, file_buffer->data,
+	write_buffer = cache_get(fwriter_buffer, file_buffer->block);
+	c_byte = mangle2(frag_stream, write_buffer->data, file_buffer->data,
 			 file_buffer->size, block_size, noF, 1);
 	compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
 	write_buffer->size = compressed_size;

Attachment: pgpJzIqWVDpMd.pgp
Description: OpenPGP digital signature

Reply via email to