summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Melichev <igor.melichev@artifex.com>2005-04-04 23:00:24 +0000
committerIgor Melichev <igor.melichev@artifex.com>2005-04-04 23:00:24 +0000
commitbf68f8d8053ee7503f397460b9a02e521de39db8 (patch)
tree97cf99e8c2ad5f146e68b6484c89f21f34cdc59f
parentc61df003a686a5cb8319a57ab992a82a80ba26ef (diff)
downloadghostpdl-bf68f8d8053ee7503f397460b9a02e521de39db8.tar.gz
Fix : LZWEncode filtyer template didn't provide a set_defaults method.
DETAILS : A problem happens when converting comparefiles\PT.ps with ps2write : an encoded stream could not decode. The reason is that pdf_flate_binary did not set defaults to LZWE template. 1. Provided a set_defaults method (fixes pdf_flate_binary). 2. Used it instead an old hack in gdevpsdi.c (a minor improvement). EXPECTED DIFFERENCES : None. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@5825 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r--gs/src/gdevpsdi.c5
-rw-r--r--gs/src/slzwe.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/gs/src/gdevpsdi.c b/gs/src/gdevpsdi.c
index 03b388d94..0ed5e6cda 100644
--- a/gs/src/gdevpsdi.c
+++ b/gs/src/gdevpsdi.c
@@ -193,9 +193,8 @@ setup_image_compression(psdf_binary_writer *pbw, const psdf_image_params *pdip,
/* psdf_DCT_filter already did the psdf_encode_binary. */
return 0;
} else if (template == &s_LZWE_template) {
- stream_LZW_state *const ss = (stream_LZW_state *) st;
-
- s_LZW_set_defaults_inline(ss);
+ if (template->set_defaults)
+ (*template->set_defaults) (st);
}
code = psdf_encode_binary(pbw, template, st);
if (code >= 0)
diff --git a/gs/src/slzwe.c b/gs/src/slzwe.c
index 3e6a8f053..dcf7d711a 100644
--- a/gs/src/slzwe.c
+++ b/gs/src/slzwe.c
@@ -203,5 +203,6 @@ out: ss->prev_code = code;
/* Stream template */
const stream_template s_LZWE_template =
-{ &st_LZW_state, s_LZWE_init, s_LZWE_process, 1, 4, s_LZW_release
+{ &st_LZW_state, s_LZWE_init, s_LZWE_process, 1, 4, s_LZW_release,
+ s_LZW_set_defaults
};