# HG changeset patch # User michael # Date 1174831374 0 # Node ID ecb663d00b6b67271e24fd839181cb6a1553a295 # Parent 74caca70e2b329705b0fb6c75b96a86c9d36eb88 factorize diff -r 74caca70e2b3 -r ecb663d00b6b lzw.c --- a/lzw.c Sun Mar 25 13:41:14 2007 +0000 +++ b/lzw.c Sun Mar 25 14:02:54 2007 +0000 @@ -192,13 +192,12 @@ oc = s->oc; fc = s->fc; - while (sp > s->stack) { - *buf++ = *(--sp); - if ((--l) == 0) - goto the_end; - } - for (;;) { + while (sp > s->stack) { + *buf++ = *(--sp); + if ((--l) == 0) + goto the_end; + } c = lzw_get_code(s); if (c == s->end_code) { s->end_code = -1; @@ -242,11 +241,6 @@ s->curmask = mask[++s->cursize]; } } - while (sp > s->stack) { - *buf++ = *(--sp); - if ((--l) == 0) - goto the_end; - } } } the_end: