]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/unzip.c
added wx/defs.h include to correct compilation issues under Mac OS X
[wxWidgets.git] / src / common / unzip.c
index c78982488cff94c9e192b6a01263847bd27622dd..02a37dc16c5f4d02923baec9ed5ee167a0ec5124 100644 (file)
@@ -21,7 +21,19 @@ $Id$
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+/*
 #include "zlib.h"
 #include "zlib.h"
+ normally, the compiler options should contain -I../zlib, but it is
+ apparently not the case for all MSW makefiles and so, unless we use
+ configure (which defines __WX_SETUP_H__) or it is explicitly overridden by
+ the user (who can define wxUSE_ZLIB_H_IN_PATH), we hardcode the path here
+*/
+#if defined(__WXMSW__) && !defined(__WX_SETUP_H__) && !defined(wxUSE_ZLIB_H_IN_PATH)
+   #include "../zlib/zlib.h"
+#else
+   #include "zlib.h"
+#endif
+
 
 /* Not the right solution (paths in makefiles) but... */
 #ifdef __BORLANDC__
 
 /* Not the right solution (paths in makefiles) but... */
 #ifdef __BORLANDC__
@@ -149,6 +161,11 @@ typedef struct
 int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
 #endif
 
 int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
 #endif
 
+/* disable warnings about K&R declarations until the end of file */
+#ifdef _MSC_VER
+#pragma warning(disable:4131)
+#endif /* VC++ */
+
 /* ===========================================================================
      Read a byte from a gz_stream; update next_in and avail_in. Return EOF
    for end of file.
 /* ===========================================================================
      Read a byte from a gz_stream; update next_in and avail_in. Return EOF
    for end of file.
@@ -353,7 +370,7 @@ local uLong unzlocal_SearchCentralDir(fin)
        return uPosFound;
 }
 
        return uPosFound;
 }
 
-#ifdef __WXMAC__
+#if defined(__WXMAC__) && !defined(__UNIX__)
 void wxUnix2MacFilename (char *s) ;
 void
 wxUnix2MacFilename (char *s)
 void wxUnix2MacFilename (char *s) ;
 void
 wxUnix2MacFilename (char *s)
@@ -425,10 +442,10 @@ extern unzFile ZEXPORT unzOpen (path)
     if (unz_copyright[0]!=' ')
         return NULL;
 
     if (unz_copyright[0]!=' ')
         return NULL;
 
-#ifdef __WXMAC__
+#if defined(__WXMAC__) && !defined(__UNIX__)
        strcpy( wxBuffer , path ) ;
        wxUnix2MacFilename( wxBuffer ) ;
        strcpy( wxBuffer , path ) ;
        wxUnix2MacFilename( wxBuffer ) ;
-  fin=fopen(wxBuffer,"rb");
+       fin=fopen(wxBuffer,"rb");
 #else
     fin=fopen(path,"rb");
 #endif
 #else
     fin=fopen(path,"rb");
 #endif
@@ -606,10 +623,12 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
 
        /* we check the magic */
        if (err==UNZ_OK)
 
        /* we check the magic */
        if (err==UNZ_OK)
+    {
                if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
                        err=UNZ_ERRNO;
                else if (uMagic!=0x02014b50)
                        err=UNZ_BADZIPFILE;
                if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
                        err=UNZ_ERRNO;
                else if (uMagic!=0x02014b50)
                        err=UNZ_BADZIPFILE;
+    }
 
        if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK)
                err=UNZ_ERRNO;
 
        if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK)
                err=UNZ_ERRNO;
@@ -686,10 +705,13 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
                        uSizeRead = extraFieldBufferSize;
 
                if (lSeek!=0)
                        uSizeRead = extraFieldBufferSize;
 
                if (lSeek!=0)
+        {
                        if (fseek(s->file,lSeek,SEEK_CUR)==0)
                                lSeek=0;
                        else
                                err=UNZ_ERRNO;
                        if (fseek(s->file,lSeek,SEEK_CUR)==0)
                                lSeek=0;
                        else
                                err=UNZ_ERRNO;
+        }
+
                if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
                        if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1)
                                err=UNZ_ERRNO;
                if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
                        if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1)
                                err=UNZ_ERRNO;
@@ -711,10 +733,13 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
                        uSizeRead = commentBufferSize;
 
                if (lSeek!=0)
                        uSizeRead = commentBufferSize;
 
                if (lSeek!=0)
+        {
                        if (fseek(s->file,lSeek,SEEK_CUR)==0)
                                lSeek=0;
                        else
                                err=UNZ_ERRNO;
                        if (fseek(s->file,lSeek,SEEK_CUR)==0)
                                lSeek=0;
                        else
                                err=UNZ_ERRNO;
+        }
+
                if ((file_info.size_file_comment>0) && (commentBufferSize>0))
                        if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1)
                                err=UNZ_ERRNO;
                if ((file_info.size_file_comment>0) && (commentBufferSize>0))
                        if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1)
                                err=UNZ_ERRNO;
@@ -902,10 +927,12 @@ local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
 
 
        if (err==UNZ_OK)
 
 
        if (err==UNZ_OK)
+    {
                if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
                        err=UNZ_ERRNO;
                else if (uMagic!=0x04034b50)
                        err=UNZ_BADZIPFILE;
                if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
                        err=UNZ_ERRNO;
                else if (uMagic!=0x04034b50)
                        err=UNZ_BADZIPFILE;
+    }
 
        if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
                err=UNZ_ERRNO;
 
        if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
                err=UNZ_ERRNO;
@@ -1344,7 +1371,6 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
        char *szComment;
        uLong uSizeBuf;
 {
        char *szComment;
        uLong uSizeBuf;
 {
-       int err=UNZ_OK;
        unz_s* s;
        uLong uReadThis ;
        if (file==NULL)
        unz_s* s;
        uLong uReadThis ;
        if (file==NULL)