summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/assimp/contrib/unzip/unzip.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/assimp/contrib/unzip/unzip.c')
-rw-r--r--src/3rdparty/assimp/contrib/unzip/unzip.c51
1 files changed, 29 insertions, 22 deletions
diff --git a/src/3rdparty/assimp/contrib/unzip/unzip.c b/src/3rdparty/assimp/contrib/unzip/unzip.c
index af00f7d6f..e8b62e763 100644
--- a/src/3rdparty/assimp/contrib/unzip/unzip.c
+++ b/src/3rdparty/assimp/contrib/unzip/unzip.c
@@ -38,7 +38,8 @@ woven in by Terry Thorsen 1/2003.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "./unzip.h"
+#include "zlib.h"
+#include "unzip.h"
#ifdef STDC
# include <stddef.h>
@@ -146,7 +147,7 @@ typedef struct
int encrypted;
# ifndef NOUNCRYPT
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
- const unsigned long* pcrc_32_tab;
+ const z_crc_t* pcrc_32_tab;
# endif
} unz_s;
@@ -162,10 +163,10 @@ typedef struct
*/
-local int unzlocal_getByte (
+local int unzlocal_getByte OF((
const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream,
- int *pi);
+ int *pi));
local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi)
const zlib_filefunc_def* pzlib_filefunc_def;
@@ -192,10 +193,10 @@ local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi)
/* ===========================================================================
Reads a long in LSB order from the given gz_stream. Sets
*/
-local int unzlocal_getShort (
+local int unzlocal_getShort OF((
const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream,
- uLong *pX);
+ uLong *pX));
local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def;
@@ -203,7 +204,7 @@ local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)
uLong *pX;
{
uLong x ;
- int i;
+ int i = 0;
int err;
err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);
@@ -220,10 +221,10 @@ local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)
return err;
}
-local int unzlocal_getLong (
+local int unzlocal_getLong OF((
const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream,
- uLong *pX);
+ uLong *pX));
local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def;
@@ -231,7 +232,7 @@ local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)
uLong *pX;
{
uLong x ;
- int i;
+ int i = 0;
int err;
err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);
@@ -323,9 +324,9 @@ extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivit
Locate the Central directory of a zipfile (at the end, just before
the global comment)
*/
-local uLong unzlocal_SearchCentralDir (
+local uLong unzlocal_SearchCentralDir OF((
const zlib_filefunc_def* pzlib_filefunc_def,
- voidpf filestream);
+ voidpf filestream));
local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)
const zlib_filefunc_def* pzlib_filefunc_def;
@@ -562,7 +563,7 @@ local void unzlocal_DosDateToTmuDate (ulDosDate, ptm)
/*
Get Info about the current file in the zipfile, with internal only info
*/
-local int unzlocal_GetCurrentFileInfoInternal (unzFile file,
+local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
unz_file_info *pfile_info,
unz_file_info_internal
*pfile_info_internal,
@@ -571,7 +572,7 @@ local int unzlocal_GetCurrentFileInfoInternal (unzFile file,
void *extraField,
uLong extraFieldBufferSize,
char *szComment,
- uLong commentBufferSize);
+ uLong commentBufferSize));
local int unzlocal_GetCurrentFileInfoInternal (file,
pfile_info,
@@ -609,9 +610,13 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
if (err==UNZ_OK)
{
if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
+ {
err=UNZ_ERRNO;
+ }
else if (uMagic!=0x02014b50)
+ {
err=UNZ_BADZIPFILE;
+ }
}
if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK)
@@ -701,8 +706,9 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
lSeek += file_info.size_file_extra - uSizeRead;
}
else
+ {
lSeek+=file_info.size_file_extra;
-
+ }
if ((err==UNZ_OK) && (szComment!=NULL))
{
@@ -713,22 +719,22 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
uSizeRead = file_info.size_file_comment;
}
else
+ {
uSizeRead = commentBufferSize;
+ }
if (lSeek!=0)
{
- if (ZSEEK(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
+ if (ZSEEK(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)!=0)
err=UNZ_ERRNO;
}
if ((file_info.size_file_comment>0) && (commentBufferSize>0))
if (ZREAD(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead)
err=UNZ_ERRNO;
- lSeek+=file_info.size_file_comment - uSizeRead;
}
else
- lSeek+=file_info.size_file_comment;
+ {
+ }
if ((err==UNZ_OK) && (pfile_info!=NULL))
*pfile_info=file_info;
@@ -988,7 +994,7 @@ local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
else if (uMagic!=0x04034b50)
err=UNZ_BADZIPFILE;
}
-
+
if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
err=UNZ_ERRNO;
/*
@@ -1119,7 +1125,7 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
if ((s->cur_file_info.compression_method!=0) &&
(s->cur_file_info.compression_method!=Z_DEFLATED))
- err=UNZ_BADZIPFILE;
+ return UNZ_BADZIPFILE;
pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;
pfile_in_zip_read_info->crc32=0;
@@ -1541,6 +1547,7 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
char *szComment;
uLong uSizeBuf;
{
+ int err=UNZ_OK;
unz_s* s;
uLong uReadThis ;
if (file==NULL)