123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #include <stdio.h>
- #include "unzip.h"
- #if defined(MODERN) && !defined(NO_STDDEF_H)
- # include <stddef.h>
- #endif
- #include "unzvers.h"
- int main(int argc, char *argv[])
- {
- static ZCONST UzpVer *pVersion;
- pVersion = UzpVersion();
- printf("UnZip stub: checking version numbers (DLL is dated %s)\n",
- pVersion->date);
- printf(" UnZip versions: expecting %u.%u%u, using %u.%u%u%s\n",
- UZ_MAJORVER, UZ_MINORVER, UZ_PATCHLEVEL, pVersion->unzip.major,
- pVersion->unzip.minor, pVersion->unzip.patchlevel, pVersion->betalevel);
- printf(" ZipInfo versions: expecting %u.%u%u, using %u.%u%u\n",
- ZI_MAJORVER, ZI_MINORVER, UZ_PATCHLEVEL, pVersion->zipinfo.major,
- pVersion->zipinfo.minor, pVersion->zipinfo.patchlevel);
- if (pVersion->flag & 2)
- printf(" using zlib version %s\n", pVersion->zlib_version);
-
- # define UZDLL_MINVERS_MAJOR 5
- # define UZDLL_MINVERS_MINOR 3
- # define UZDLL_MINVERS_PATCHLEVEL 0
-
- if ( (pVersion->unzip.major < UZDLL_MINVERS_MAJOR) ||
- ((pVersion->unzip.major == UZDLL_MINVERS_MAJOR) &&
- ((pVersion->unzip.minor < UZDLL_MINVERS_MINOR) ||
- ((pVersion->unzip.minor == UZDLL_MINVERS_MINOR) &&
- (pVersion->unzip.patchlevel < UZDLL_MINVERS_PATCHLEVEL)
- )
- )
- ) )
- {
- printf(" aborting because of too old UnZip DLL version!\n");
- return -1;
- }
-
- if (pVersion->structlen >=
- #if defined(MODERN) && !defined(NO_STDDEF_H)
- ( offsetof(UzpVer, dllapimin)
- #else
- ((unsigned)&(((UzpVer *)0)->dllapimin))
- #endif
- + sizeof(_version_type) ))
- {
- #ifdef OS2DLL
- # define UZ_API_COMP_MAJOR UZ_OS2API_COMP_MAJOR
- # define UZ_API_COMP_MINOR UZ_OS2API_COMP_MINOR
- # define UZ_API_COMP_REVIS UZ_OS2API_COMP_REVIS
- #else
- #ifdef WINDLL
- # define UZ_API_COMP_MAJOR UZ_WINAPI_COMP_MAJOR
- # define UZ_API_COMP_MINOR UZ_WINAPI_COMP_MINOR
- # define UZ_API_COMP_REVIS UZ_WINAPI_COMP_REVIS
- #else
- # define UZ_API_COMP_MAJOR UZ_GENAPI_COMP_MAJOR
- # define UZ_API_COMP_MINOR UZ_GENAPI_COMP_MINOR
- # define UZ_API_COMP_REVIS UZ_GENAPI_COMP_REVIS
- #endif
- #endif
- printf(
- " UnZip API version: can handle <= %u.%u%u, DLL supplies %u.%u%u\n",
- UZ_API_COMP_MAJOR, UZ_API_COMP_MINOR, UZ_API_COMP_REVIS,
- pVersion->dllapimin.major, pVersion->dllapimin.minor,
- pVersion->dllapimin.patchlevel);
- if ( (pVersion->dllapimin.major > UZ_API_COMP_MAJOR) ||
- ((pVersion->dllapimin.major == UZ_API_COMP_MAJOR) &&
- ((pVersion->dllapimin.minor > UZ_API_COMP_MINOR) ||
- ((pVersion->dllapimin.minor == UZ_API_COMP_MINOR) &&
- (pVersion->dllapimin.patchlevel > UZ_API_COMP_REVIS)
- )
- )
- ) )
- {
- printf(" aborting because of unsupported dll api version!\n");
- return -1;
- }
- }
- printf("\n");
-
- return UzpMain(argc, argv);
- }
|