diff options
-rw-r--r-- | navit/map/binfile/binfile.c | 2 | ||||
-rw-r--r-- | navit/zipfile.h | 7 |
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 { |