Just FYI, compiling the LZSA code under Ubuntu with gcc, in C++11 mode, I found two small incompatibilities, both are very easy to fix:
lzsa/shrink_block_v2.c:444:28: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int nn = n;
^
lzsa/shrink_block_v2.c:444:28: note: use option -std=c99 or -std=gnu99 to compile your code
lzsa/matchfinder.c:135:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int r = 1; r < nInWindowSize; r++) {
^
lzsa/matchfinder.c:135:4: note: use option -std=c99 or -std=gnu99 to compile your code
Marty, many thanks for the LZSA code, I re-used it for my Sav2Cart utility here: https://github.com/nzeemin/ukncbtl-utils/tree/master/Sav2Cartridge
Just FYI, compiling the LZSA code under Ubuntu with gcc, in C++11 mode, I found two small incompatibilities, both are very easy to fix: