replace strncpy with ast_copy_string.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Luigi Rizzo 21 years ago
parent 491c64457a
commit 5928df2a48

@ -427,7 +427,7 @@ static int local_hangup(struct ast_channel *ast)
}
/*! \brief Create a call structure */
static struct local_pvt *local_alloc(char *data, int format)
static struct local_pvt *local_alloc(const char *data, int format)
{
struct local_pvt *tmp;
char *c;
@ -437,21 +437,17 @@ static struct local_pvt *local_alloc(char *data, int format)
return NULL;
ast_mutex_init(&tmp->lock);
strncpy(tmp->exten, data, sizeof(tmp->exten) - 1);
ast_copy_string(tmp->exten, data, sizeof(tmp->exten));
opts = strchr(tmp->exten, '/');
if (opts) {
*opts='\0';
opts++;
*opts++ = '\0';
if (strchr(opts, 'n'))
tmp->nooptimization = 1;
}
c = strchr(tmp->exten, '@');
if (c) {
*c = '\0';
c++;
strncpy(tmp->context, c, sizeof(tmp->context) - 1);
} else
strncpy(tmp->context, "default", sizeof(tmp->context) - 1);
if (c)
*c++ = '\0';
ast_copy_string(tmp->context, c ? c : "default", sizeof(tmp->context));
tmp->reqformat = format;
if (!ast_exists_extension(NULL, tmp->context, tmp->exten, 1, NULL)) {
ast_log(LOG_NOTICE, "No such extension/context %s@%s creating local channel\n", tmp->exten, tmp->context);

Loading…
Cancel
Save