Skip to content

Commit f87ab60

Browse files
committed
fix build
1 parent 6e83b1b commit f87ab60

2 files changed

Lines changed: 10 additions & 16 deletions

File tree

src/luazip.c

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -754,13 +754,7 @@ try_open(struct zipreader_name *name, const char *filename) {
754754
}
755755
filename += name->root_size;
756756
}
757-
struct filename_convert tmp;
758-
if (MultiByteToWideChar(CP_UTF8, 0, name->zipfile, -1, tmp.tmp, sizeof(tmp)) == 0) {
759-
return NULL;
760-
}
761-
zlib_filefunc64_def ffunc;
762-
fill_win32_filefunc64W(&ffunc);
763-
unzFile zf = unzOpen2_64((const char *)tmp.tmp, &ffunc);
757+
unzFile zf = unzip_open(NULL, name->zipfile);
764758
if (zf == NULL)
765759
return NULL;
766760

@@ -792,7 +786,7 @@ zipreader_read(zipreader_file zf, void *dst, int bytes) {
792786
return unzReadCurrentFile(zf, dst, bytes);
793787
}
794788

795-
size_t
789+
int64_t
796790
zipreader_tell(zipreader_file zf) {
797791
return unztell64(zf);
798792
}
@@ -819,7 +813,7 @@ reopen_file(zipreader_file zf) {
819813
#define TMP_SKIP_BUFFER 4096
820814

821815
static int
822-
skip_bytes(zipreader_file zf, ssize_t offset) {
816+
skip_bytes(zipreader_file zf, int64_t offset) {
823817
char tmp[TMP_SKIP_BUFFER];
824818
while (offset >= TMP_SKIP_BUFFER) {
825819
if (unzReadCurrentFile(zf, tmp, TMP_SKIP_BUFFER) != TMP_SKIP_BUFFER)
@@ -832,22 +826,22 @@ skip_bytes(zipreader_file zf, ssize_t offset) {
832826
}
833827

834828
int
835-
zipreader_seek(zipreader_file zf, ssize_t offset, int origin) {
829+
zipreader_seek(zipreader_file zf, int64_t offset, int origin) {
836830
if (origin == SEEK_CUR && offset >= 0) {
837831
return skip_bytes(zf, offset);
838832
}
839833
size_t size = zipreader_size(zf);
840834
size_t cur_pos = unztell64(zf);
841-
ssize_t new_pos;
835+
int64_t new_pos;
842836
switch (origin) {
843837
case SEEK_SET:
844838
new_pos = offset;
845839
break;
846840
case SEEK_CUR:
847-
new_pos = (ssize_t)cur_pos + offset;
841+
new_pos = (int64_t)cur_pos + offset;
848842
break;
849843
case SEEK_END:
850-
new_pos = (ssize_t)size + offset;
844+
new_pos = (int64_t)size + offset;
851845
break;
852846
default :
853847
return -1;

src/zipreader.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef soluna_zip_reader_h
22
#define soluna_zip_reader_h
33

4-
#include <stdlib.h>
4+
#include <stdint.h>
55

66
struct zipreader_name {
77
const char * zipfile;
@@ -14,8 +14,8 @@ typedef void * zipreader_file;
1414
zipreader_file zipreader_open(struct zipreader_name *names, const char * filename);
1515
void zipreader_close(zipreader_file f);
1616
int zipreader_read(zipreader_file f, void *dst, int bytes);
17-
int zipreader_seek(zipreader_file f, ssize_t offset, int origin);
18-
size_t zipreader_tell(zipreader_file f);
17+
int zipreader_seek(zipreader_file f, int64_t offset, int origin);
18+
int64_t zipreader_tell(zipreader_file f);
1919
size_t zipreader_size(zipreader_file f);
2020

2121
#endif

0 commit comments

Comments
 (0)