|  | typedef __SIZE_TYPE__ size_t; | 
|  | typedef struct _IO_FILE FILE; | 
|  | extern size_t fread(void *__restrict __ptr, size_t __size, size_t __n, | 
|  | FILE *__restrict __stream); | 
|  | typedef unsigned char Byte; | 
|  | typedef unsigned int uInt; | 
|  | typedef unsigned long uLong; | 
|  |  | 
|  | typedef struct z_stream_s { | 
|  | uInt avail_in; | 
|  | uInt avail_out; | 
|  | } z_stream; | 
|  |  | 
|  | typedef struct gz_stream { | 
|  | z_stream stream; | 
|  | FILE *file; | 
|  | } gz_stream; | 
|  |  | 
|  | void test_1_callee(gz_stream *s, Byte *buf) { | 
|  | Byte *next_out = buf; | 
|  | uInt n = s->stream.avail_in; | 
|  | if (n > 0) { | 
|  | next_out += n; | 
|  | } | 
|  | s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out, s->file); | 
|  | } | 
|  |  | 
|  | void test_1_caller(gz_stream *s) { | 
|  | unsigned char c; | 
|  | test_1_callee(s, &c); | 
|  | } |