87 if (!
self)
return NULL;
121 if (!
self || !self->system)
return;
124 self->system->close(hdr_p->
fh);
127 self->system->free(hdr);
138 0x53, 0x5A, 0x44, 0x44, 0x88, 0xF0, 0x27, 0x33
141 0x53, 0x5A, 0x20, 0x88, 0xF0, 0x27, 0x33, 0xD1
148 unsigned char buf[8];
235 return self->error =
error;
int lzss_decompress(struct mspack_system *system, struct mspack_file *input, struct mspack_file *output, int input_buffer_size, int mode)
void(* close)(struct mspack_file *file)
struct mspack_file *(* open)(struct mspack_system *self, const char *filename, int mode)
int(* seek)(struct mspack_file *file, off_t offset, int mode)
int(* read)(struct mspack_file *file, void *buffer, int bytes)
void *(* alloc)(struct mspack_system *self, size_t bytes)
struct msszdd_decompressor base
static unsigned char szdd_signature_expand[8]
static void szddd_close(struct msszdd_decompressor *base, struct msszddd_header *hdr)
static unsigned char szdd_signature_qbasic[8]
static struct msszddd_header * szddd_open(struct msszdd_decompressor *base, const char *filename)
struct msszdd_decompressor * mspack_create_szdd_decompressor(struct mspack_system *sys)
static int szddd_read_headers(struct mspack_system *sys, struct mspack_file *fh, struct msszddd_header *hdr)
static int szddd_error(struct msszdd_decompressor *base)
static int szddd_extract(struct msszdd_decompressor *base, struct msszddd_header *hdr, const char *filename)
static int szddd_decompress(struct msszdd_decompressor *base, const char *input, const char *output)
void mspack_destroy_szdd_decompressor(struct msszdd_decompressor *base)
void error(const char *msg)
static bool input(void *ud, zip_uint8_t *data, zip_uint64_t length)