summaryrefslogtreecommitdiff
path: root/libtiff/tif_lzma.c
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2011-02-22 21:55:13 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2011-02-22 21:55:13 +0000
commit202ed69f775312c6183e7a308372919a5a9a742a (patch)
treecf8c3f05f8d07ba8c6baf47aa183a2e33955ddf3 /libtiff/tif_lzma.c
parentf54758cb9620bd14b26fb7e3275b603921d38198 (diff)
downloadlibtiff-git-202ed69f775312c6183e7a308372919a5a9a742a.tar.gz
fix rawcp/rawcc maintinance for lzma compressor
Diffstat (limited to 'libtiff/tif_lzma.c')
-rw-r--r--libtiff/tif_lzma.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libtiff/tif_lzma.c b/libtiff/tif_lzma.c
index 3b4b5ab5..c176a505 100644
--- a/libtiff/tif_lzma.c
+++ b/libtiff/tif_lzma.c
@@ -1,4 +1,4 @@
-/* $Id: tif_lzma.c,v 1.2 2010-12-23 13:07:38 dron Exp $ */
+/* $Id: tif_lzma.c,v 1.3 2011-02-22 21:55:13 fwarmerdam Exp $ */
/*
* Copyright (c) 2010, Andrey Kiselev <dron@ak4719.spb.edu>
@@ -171,6 +171,9 @@ LZMADecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
assert(sp != NULL);
assert(sp->state == LSTATE_INIT_DECODE);
+ sp->stream.next_in = tif->tif_rawcp;
+ sp->stream.avail_in = (size_t) tif->tif_rawcc;
+
sp->stream.next_out = op;
sp->stream.avail_out = (size_t) occ;
if ((tmsize_t)sp->stream.avail_out != occ) {
@@ -216,6 +219,10 @@ LZMADecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
(unsigned long) tif->tif_row, (unsigned long) sp->stream.avail_out);
return 0;
}
+
+ tif->tif_rawcp = sp->stream.next_in;
+ tif->tif_rawcc = sp->stream.avail_in;
+
return 1;
}