| /* { dg-do compile } */ |
| |
| typedef void * gzFile; |
| typedef struct |
| { |
| int mode; |
| int direct; |
| int seek; |
| int err; |
| char *msg; |
| } |
| gz_state; |
| |
| void gz_error (gz_state *state, int err, char *msg); |
| void foo (char *); |
| void bar (char *, char *); |
| |
| static void |
| gz_reset (gz_state *state) |
| { |
| if (state->mode == 7247) |
| { |
| state->direct = 1; |
| } |
| state->seek = 0; |
| gz_error (state, 0, 0); |
| } |
| |
| int |
| gzbuffer (void *file, int size) |
| { |
| gz_state *state; |
| gz_reset (state); |
| } |
| |
| void gz_error (gz_state *state, int err, char *msg) |
| { |
| if (state->msg != 0) |
| { |
| if (state->err != -4) |
| foo (state->msg); |
| } |
| if (msg == 0) |
| return; |
| bar (state->msg, msg); |
| } |