|
@@ -74,6 +74,7 @@ struct rc {
|
|
|
uint32_t code;
|
|
|
uint32_t range;
|
|
|
uint32_t bound;
|
|
|
+ void (*error)(char *);
|
|
|
};
|
|
|
|
|
|
|
|
@@ -92,7 +93,7 @@ static void INIT rc_read(struct rc *rc)
|
|
|
{
|
|
|
rc->buffer_size = rc->fill((char *)rc->buffer, LZMA_IOBUF_SIZE);
|
|
|
if (rc->buffer_size <= 0)
|
|
|
- error("unexpected EOF");
|
|
|
+ rc->error("unexpected EOF");
|
|
|
rc->ptr = rc->buffer;
|
|
|
rc->buffer_end = rc->buffer + rc->buffer_size;
|
|
|
}
|
|
@@ -536,7 +537,7 @@ STATIC inline int INIT unlzma(unsigned char *buf, int in_len,
|
|
|
int(*flush)(void*, unsigned int),
|
|
|
unsigned char *output,
|
|
|
int *posp,
|
|
|
- void(*error_fn)(char *x)
|
|
|
+ void(*error)(char *x)
|
|
|
)
|
|
|
{
|
|
|
struct lzma_header header;
|
|
@@ -552,7 +553,7 @@ STATIC inline int INIT unlzma(unsigned char *buf, int in_len,
|
|
|
unsigned char *inbuf;
|
|
|
int ret = -1;
|
|
|
|
|
|
- set_error_fn(error_fn);
|
|
|
+ rc.error = error;
|
|
|
|
|
|
if (buf)
|
|
|
inbuf = buf;
|
|
@@ -659,9 +660,9 @@ STATIC int INIT decompress(unsigned char *buf, int in_len,
|
|
|
int(*flush)(void*, unsigned int),
|
|
|
unsigned char *output,
|
|
|
int *posp,
|
|
|
- void(*error_fn)(char *x)
|
|
|
+ void(*error)(char *x)
|
|
|
)
|
|
|
{
|
|
|
- return unlzma(buf, in_len - 4, fill, flush, output, posp, error_fn);
|
|
|
+ return unlzma(buf, in_len - 4, fill, flush, output, posp, error);
|
|
|
}
|
|
|
#endif
|