--- xmp-3.5.0.org/src/misc/load.c +++ xmp-3.5.0.mod/src/misc/load.c @@ -105,12 +105,19 @@ if ((headersize = fread(b, 1, 1024, *f)) < 100) /* minimum valid file size */ return 0; + size_t sl=strlen(*s); + #if defined __AMIGA__ && !defined __AROS__ if (packer = test_xfd(b, 1024)) { builtin = BUILTIN_XFD; } else #endif + if (!strcmp((*s)+sl-5,".lzma")) { + packer = "lzma"; + cmd = "lzma -dc \"%s\""; + } else + if (b[0] == 'P' && b[1] == 'K' && ((b[2] == 3 && b[3] == 4) || (b[2] == '0' && b[3] == '0' && b[4] == 'P' && b[5] == 'K' && b[6] == 3 && b[7] == 4))) {