summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--navit/map/binfile/binfile.c2
-rw-r--r--navit/zipfile.h7
2 files changed, 7 insertions, 2 deletions
diff --git a/navit/map/binfile/binfile.c b/navit/map/binfile/binfile.c
index da86d77ed..9beede395 100644
--- a/navit/map/binfile/binfile.c
+++ b/navit/map/binfile/binfile.c
@@ -1635,7 +1635,7 @@ map_binfile_open(struct map_priv *m)
return 0;
}
*magic = le32_to_cpu(*magic);
- if (*magic == zip_lfh_sig) {
+ if (*magic == zip_lfh_sig || *magic == zip_split_sig) {
if ((first_cd=map_binfile_first_cd(m))) {
m->cde_size=sizeof(struct zip_cd)+first_cd->zipcfnl+first_cd->zipcxtl;
m->zip_members=m->index_offset/m->cde_size+1;
diff --git a/navit/zipfile.h b/navit/zipfile.h
index 0ef5ea4bd..c70cc0ae4 100644
--- a/navit/zipfile.h
+++ b/navit/zipfile.h
@@ -19,12 +19,17 @@
#ifndef __ZIPFILE_H__
#ifdef HAVE_API_WIN32_CE
-#warning OK
/* cegcc doesn't honor the __attribute__(packed) need pragma to work */
#pragma pack(push)
#pragma pack(1)
#endif
+#define zip_split_sig 0x07084b50
+
+struct zip_split {
+ int zipsplitsig;
+};
+
#define zip_lfh_sig 0x04034b50
struct zip_lfh {