From 8521ad99b03c24040dbc0387966118ebc81f8933 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 16 Aug 2016 13:44:38 +0200 Subject: [PATCH] [lzw] Optimize last commit. * src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into conditional clause. --- ChangeLog | 7 +++++++ src/lzw/ftzopen.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a22c69396..8aaa78e58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2016-08-16 Werner Lemberg + + [lzw] Optimize last commit. + + * src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into + conditional clause. + 2016-08-16 Werner Lemberg [lzw] Avoid invalid left shift. diff --git a/src/lzw/ftzopen.c b/src/lzw/ftzopen.c index ae79fdd24..9e66ba983 100644 --- a/src/lzw/ftzopen.c +++ b/src/lzw/ftzopen.c @@ -65,16 +65,16 @@ FT_Int result; - if ( num_bits > LZW_MAX_BITS ) - return -1; - if ( state->buf_clear || offset >= state->buf_size || state->free_ent >= state->free_bits ) { if ( state->free_ent >= state->free_bits ) { - state->num_bits = ++num_bits; + state->num_bits = ++num_bits; + if ( num_bits > LZW_MAX_BITS ) + return -1; + state->free_bits = state->num_bits < state->max_bits ? (FT_UInt)( ( 1UL << num_bits ) - 256 ) : state->max_free + 1;