diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2008-12-02 00:37:21 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2008-12-02 00:37:21 +0000 |
commit | 3d4c0cd42147e08a0370f95d1d0135aeba6f3131 (patch) | |
tree | 36a15e8926ad865d79c9b2dda57bfcb7c4aa42a3 /main/pbx.c | |
parent | 4dc60e756014e2eff2c182445ecdba6f393cacf8 (diff) |
Merged revisions 160207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r160207 | tilghman | 2008-12-01 18:25:16 -0600 (Mon, 01 Dec 2008) | 3 lines
Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc
and glibc.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/pbx.c')
-rw-r--r-- | main/pbx.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/main/pbx.c b/main/pbx.c index 974ca6153..1e6ce170e 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -7077,14 +7077,19 @@ int ast_context_add_ignorepat2(struct ast_context *con, const char *value, const { struct ast_ignorepat *ignorepat, *ignorepatc, *ignorepatl = NULL; int length; + char *pattern; length = sizeof(struct ast_ignorepat); length += strlen(value) + 1; if (!(ignorepat = ast_calloc(1, length))) return -1; /* The cast to char * is because we need to write the initial value. - * The field is not supposed to be modified otherwise + * The field is not supposed to be modified otherwise. Also, gcc 4.2 + * sees the cast as dereferencing a type-punned pointer and warns about + * it. This is the workaround (we're telling gcc, yes, that's really + * what we wanted to do). */ - strcpy((char *)ignorepat->pattern, value); + pattern = (char *) ignorepat->pattern; + strcpy(pattern, value); ignorepat->next = NULL; ignorepat->registrar = registrar; ast_wrlock_context(con); |