summaryrefslogtreecommitdiff
path: root/lib/bitio.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bitio.c')
-rw-r--r--lib/bitio.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/bitio.c b/lib/bitio.c
index bd549359..442bf488 100644
--- a/lib/bitio.c
+++ b/lib/bitio.c
@@ -29,6 +29,7 @@
#include <string.h>
#include <memory.h>
#include <fcntl.h>
+#include <errno.h>
#include "../config.h"
@@ -68,9 +69,14 @@ static int reader_fileread(reader_t*reader, void* data, int len)
reader->pos += ret;
return ret;
}
+static void reader_fileread_dealloc(reader_t*r)
+{
+ memset(r, 0, sizeof(reader_t));
+}
void reader_init_filereader(reader_t*r, int handle)
{
r->read = reader_fileread;
+ r->dealloc = reader_fileread_dealloc;
r->internal = (void*)handle;
r->type = READER_TYPE_FILE;
r->mybyte = 0;
@@ -338,7 +344,7 @@ static void zlib_error(int ret, char* msg, z_stream*zs)
msg,
ret,
zs->msg?zs->msg:"unknown");
- perror("errno:");
+ if(errno) perror("errno:");
exit(1);
}
#endif