--- liblzf/lzf_d.c 2012/12/10 20:21:28 1.15 +++ liblzf/lzf_d.c 2015/02/23 23:46:10 1.16 @@ -52,7 +52,7 @@ #endif #endif -unsigned int +unsigned int lzf_decompress (const void *const in_data, unsigned int in_len, void *out_data, unsigned int out_len) { @@ -85,6 +85,9 @@ #ifdef lzf_movsb lzf_movsb (op, ip, ctrl); +#elif OPTIMISE_SIZE + while (ctrl--) + *op++ = *ip++; #else switch (ctrl) { @@ -141,6 +144,12 @@ #ifdef lzf_movsb len += 2; lzf_movsb (op, ref, len); +#elif OPTIMISE_SIZE + len += 2; + + do + *op++ = *ref++; + while (--len); #else switch (len) { @@ -155,7 +164,7 @@ } else { - /* overlapping, use octte by octte copying */ + /* overlapping, use octet by octet copying */ do *op++ = *ref++; while (--len);