zutil.c
上传用户:jnfxsk
上传日期:2022-06-16
资源大小:3675k
文件大小:3k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /* zutil.c -- target dependent utility functions for the compression library
  2.  * Copyright (C) 1995-2003 Jean-loup Gailly.
  3.  * For conditions of distribution and use, see copyright notice in zlib.h
  4.  */
  5. /* @(#) $Id: zutil.c,v 1.1 2005/11/23 14:29:59 stingerx Exp $ */
  6. #include "zutil.h"
  7. #ifndef NO_DUMMY_DECL
  8.   struct internal_state
  9.   {
  10.     int dummy;
  11.   }; /* for buggy compilers */
  12. #endif
  13. #ifndef STDC
  14.   extern void exit OF((int));
  15. #endif
  16. const char *const z_errmsg[10] =
  17. {
  18.   "need dictionary",  /* Z_NEED_DICT       2  */
  19.   "stream end",  /* Z_STREAM_END      1  */
  20.   "",  /* Z_OK              0  */
  21.   "file error",  /* Z_ERRNO         (-1) */
  22.   "stream error",  /* Z_STREAM_ERROR  (-2) */
  23.   "data error",  /* Z_DATA_ERROR    (-3) */
  24.   "insufficient memory",  /* Z_MEM_ERROR     (-4) */
  25.   "buffer error",  /* Z_BUF_ERROR     (-5) */
  26.   "incompatible version",  /* Z_VERSION_ERROR (-6) */
  27.   ""
  28. };
  29. const char *ZEXPORT zlibZIPVersion()
  30. {
  31.   return ZLIB_VERSION;
  32. }
  33. //-------------------------------------------------------------------------
  34. DWORD ZEXPORT zlibCompileFlags()
  35. {
  36.   DWORD flags;
  37.   flags = 0;
  38.   flags += 1;
  39.   flags += 1 << 2;
  40.   flags += 1 << 4;
  41.   switch (sizeof(z_off_t))
  42.   {
  43.     case 2:
  44.       break;
  45.     case 4:
  46.       flags += 1 << 6;
  47.       break;
  48.     case 8:
  49.       flags += 2 << 6;
  50.       break;
  51.       default: flags += 3 << 6;
  52.   }
  53.   #ifdef DEBUG
  54.     flags += 1 << 8;
  55.   #endif
  56.   #if defined(ASMV) || defined(ASMINF)
  57.     flags += 1 << 9;
  58.   #endif
  59.   #ifdef ZLIB_WINAPI
  60.     flags += 1 << 10;
  61.   #endif
  62.   #ifdef BUILDFIXED
  63.     flags += 1 << 12;
  64.   #endif
  65.   #ifdef DYNAMIC_CRC_TABLE
  66.     flags += 1 << 13;
  67.   #endif
  68.   #ifdef NO_GZCOMPRESS
  69.     flags += 1 << 16;
  70.   #endif
  71.   #ifdef NO_GZIP
  72.     flags += 1 << 17;
  73.   #endif
  74.   #ifdef PKZIP_BUG_WORKAROUND
  75.     flags += 1 << 20;
  76.   #endif
  77.   #ifdef FASTEST
  78.     flags += 1 << 21;
  79.   #endif
  80.   #ifdef STDC
  81.     #ifdef NO_vsnprintf
  82.       flags += 1 << 25;
  83.       #ifdef HAS_vsprintf_void
  84.         flags += 1 << 26;
  85.       #endif
  86.     #else
  87.       #ifdef HAS_vsnprintf_void
  88.         flags += 1 << 26;
  89.       #endif
  90.     #endif
  91.   #else
  92.     flags += 1 << 24;
  93.     #ifdef NO_snprintf
  94.       flags += 1 << 25;
  95.       #ifdef HAS_sprintf_void
  96.         flags += 1 << 26;
  97.       #endif
  98.     #else
  99.       #ifdef HAS_snprintf_void
  100.         flags += 1 << 26;
  101.       #endif
  102.     #endif
  103.   #endif
  104.   return flags;
  105. }
  106. //-------------------------------------------------------------------------
  107. void *zcalloc(void *opaque, DWORD items, DWORD size)
  108. {
  109.   return (void*)malloc(items *size);
  110. }
  111. void zcfree(void *opaque, void *ptr)
  112. {
  113.   free(ptr);
  114. }