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