1e89516f0SMike Frysinger /* zutil.c -- target dependent utility functions for the compression library 2e89516f0SMike Frysinger * Copyright (C) 1995-2005 Jean-loup Gailly. 3e89516f0SMike Frysinger * For conditions of distribution and use, see copyright notice in zlib.h 4e89516f0SMike Frysinger */ 5e89516f0SMike Frysinger 6e89516f0SMike Frysinger /* @(#) $Id$ */ 7e89516f0SMike Frysinger 8e89516f0SMike Frysinger #include "zutil.h" 9e89516f0SMike Frysinger 10e89516f0SMike Frysinger #ifndef NO_DUMMY_DECL 11e89516f0SMike Frysinger struct internal_state {int dummy;}; /* for buggy compilers */ 12e89516f0SMike Frysinger #endif 13e89516f0SMike Frysinger 14e89516f0SMike Frysinger const char * const z_errmsg[10] = { 15e89516f0SMike Frysinger "need dictionary", /* Z_NEED_DICT 2 */ 16e89516f0SMike Frysinger "stream end", /* Z_STREAM_END 1 */ 17e89516f0SMike Frysinger "", /* Z_OK 0 */ 18e89516f0SMike Frysinger "file error", /* Z_ERRNO (-1) */ 19e89516f0SMike Frysinger "stream error", /* Z_STREAM_ERROR (-2) */ 20e89516f0SMike Frysinger "data error", /* Z_DATA_ERROR (-3) */ 21e89516f0SMike Frysinger "insufficient memory", /* Z_MEM_ERROR (-4) */ 22e89516f0SMike Frysinger "buffer error", /* Z_BUF_ERROR (-5) */ 23e89516f0SMike Frysinger "incompatible version",/* Z_VERSION_ERROR (-6) */ 24e89516f0SMike Frysinger ""}; 25e89516f0SMike Frysinger 26e89516f0SMike Frysinger #ifdef DEBUG 27e89516f0SMike Frysinger 28e89516f0SMike Frysinger #ifndef verbose 29e89516f0SMike Frysinger #define verbose 0 30e89516f0SMike Frysinger #endif 31e89516f0SMike Frysinger int z_verbose = verbose; 32e89516f0SMike Frysinger 33e89516f0SMike Frysinger void z_error (m) 34e89516f0SMike Frysinger char *m; 35e89516f0SMike Frysinger { 36e89516f0SMike Frysinger fprintf(stderr, "%s\n", m); 37e89516f0SMike Frysinger hang (); 38e89516f0SMike Frysinger } 39e89516f0SMike Frysinger #endif 40e89516f0SMike Frysinger 41e89516f0SMike Frysinger /* exported to allow conversion of error code to string for compress() and 42e89516f0SMike Frysinger * uncompress() 43e89516f0SMike Frysinger */ 44e89516f0SMike Frysinger #ifndef MY_ZCALLOC /* Any system without a special alloc function */ 45e89516f0SMike Frysinger 46e89516f0SMike Frysinger #ifndef STDC 47e89516f0SMike Frysinger extern voidp malloc OF((uInt size)); 48e89516f0SMike Frysinger extern voidp calloc OF((uInt items, uInt size)); 49e89516f0SMike Frysinger extern void free OF((voidpf ptr)); 50e89516f0SMike Frysinger #endif 51e89516f0SMike Frysinger 52*ee820b5eSKim Phillips voidpf zcalloc(voidpf opaque, unsigned items, unsigned size) 53e89516f0SMike Frysinger { 54e89516f0SMike Frysinger if (opaque) 55e89516f0SMike Frysinger items += size - size; /* make compiler happy */ 56e89516f0SMike Frysinger return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : 57e89516f0SMike Frysinger (voidpf)calloc(items, size); 58e89516f0SMike Frysinger } 59e89516f0SMike Frysinger 60*ee820b5eSKim Phillips void zcfree(voidpf opaque, voidpf ptr, unsigned nb) 61e89516f0SMike Frysinger { 62e89516f0SMike Frysinger free(ptr); 63e89516f0SMike Frysinger if (opaque) 64e89516f0SMike Frysinger return; /* make compiler happy */ 65e89516f0SMike Frysinger } 66e89516f0SMike Frysinger 67e89516f0SMike Frysinger #endif /* MY_ZCALLOC */ 68