[PATCH 2/8] Fix warning about incompatible pointer types
Jānis Rukšāns <[email protected]>
| Newsgroups | gmane.linux.isdn.i4l.user |
|---|---|
| Message-ID | <[email protected]> |
If ast_channel struct is not declared before ast_register_application2, gcc thinks that the implicit declaration in module.h is different from the one in channel.h, and issues a warning about incompatible pointer types. A forward declaration before including module.h fixes this. Due to some brain-deadness in Ast, including channel.h before module.h causes the compilation fail altogether. --- chan_lcr.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/chan_lcr.c b/chan_lcr.c index 2903243..a81e48d 100644 --- a/chan_lcr.c +++ b/chan_lcr.c @@ -136,6 +136,13 @@ it is called from ast_channel process which has already locked ast_channel. #ifdef LCR_FOR_ASTERISK #include <asterisk/buildopts.h> #endif + +/* + * Fwd declare struct ast_channel to get rid of gcc warning about + * incompatible pointer type passed to ast_register_application2. + */ +struct ast_channel; + #include <asterisk/module.h> #include <asterisk/channel.h> #include <asterisk/config.h> -- 1.7.10.2