Merged revisions 160208 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r160208 | tilghman | 2008-12-01 18:37:21 -0600 (Mon, 01 Dec 2008) | 10 lines
  
  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/branches/1.6.0@160228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-12-02 00:57:31 +00:00
parent 124fb94de6
commit 0a9c41ca89
6 changed files with 29 additions and 10 deletions

View File

@@ -6347,14 +6347,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);