[asterisk-commits] murf: branch murf/AEL2-1.2 r48453 -
/team/murf/AEL2-1.2/pbx/pbx_ael2.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Dec 13 10:27:07 MST 2006
Author: murf
Date: Wed Dec 13 11:27:06 2006
New Revision: 48453
URL: http://svn.digium.com/view/asterisk?view=rev&rev=48453
Log:
backport changes from the trunk version
Modified:
team/murf/AEL2-1.2/pbx/pbx_ael2.c
Modified: team/murf/AEL2-1.2/pbx/pbx_ael2.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/pbx_ael2.c?view=diff&rev=48453&r1=48452&r2=48453
==============================================================================
--- team/murf/AEL2-1.2/pbx/pbx_ael2.c (original)
+++ team/murf/AEL2-1.2/pbx/pbx_ael2.c Wed Dec 13 11:27:06 2006
@@ -812,7 +812,7 @@
char *incl_context = p4->u1.str;
/* find a matching context name */
struct pval *that_other_context = find_context(incl_context);
- if (!that_other_context) {
+ if (!that_other_context && strcmp(incl_context, "parkedcalls") != 0) {
ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The included context '%s' cannot be found.\n",
includes->filename, includes->startline, includes->endline, incl_context);
warns++;
@@ -823,13 +823,13 @@
static void check_timerange(pval *p)
{
- char times[200];
+ char *times;
char *e;
int s1, s2;
int e1, e2;
-
- strncpy(times, p->u1.str, sizeof(times));
+ times = ast_strdupa(p->u1.str);
+
/* Star is all times */
if (ast_strlen_zero(times) || !strcmp(times, "*")) {
return;
@@ -891,13 +891,13 @@
/*! \brief get_dow: Get day of week */
static void check_dow(pval *DOW)
{
- char dow[200];
+ char *dow;
char *c;
/* The following line is coincidence, really! */
int s, e;
- strncpy(dow,DOW->u1.str,sizeof(dow));
-
+ dow = ast_strdupa(DOW->u1.str);
+
/* Check for all days */
if (ast_strlen_zero(dow) || !strcmp(dow, "*"))
return;
@@ -930,12 +930,13 @@
static void check_day(pval *DAY)
{
- char day[200];
+ char *day;
char *c;
/* The following line is coincidence, really! */
int s, e;
- strncpy(day,DAY->u1.str,sizeof(day));
+ day = ast_strdupa(DAY->u1.str);
+
/* Check for all days */
if (ast_strlen_zero(day) || !strcmp(day, "*")) {
return;
@@ -992,12 +993,13 @@
static void check_month(pval *MON)
{
- char mon[200];
+ char *mon;
char *c;
/* The following line is coincidence, really! */
int s, e;
- strncpy(mon,MON->u1.str,sizeof(mon));
+ mon = ast_strdupa(MON->u1.str);
+
/* Check for all days */
if (ast_strlen_zero(mon) || !strcmp(mon, "*"))
return ;
@@ -1876,14 +1878,14 @@
int option_matches_j( struct argdesc *should, pval *is, struct argapp *app)
{
struct argchoice *ac;
- char opcop[400],*q,*p;
+ char *opcop,*q,*p;
switch (should->dtype) {
case ARGD_OPTIONSET:
if ( strstr(is->u1.str,"${") )
return 0; /* no checking anything if there's a var reference in there! */
- strncpy(opcop,is->u1.str,sizeof(opcop));
+ opcop = ast_strdupa(is->u1.str);
for (q=opcop;*q;q++) { /* erase the innards of X(innard) type arguments, so we don't get confused later */
if ( *q == '(' ) {
@@ -1938,7 +1940,7 @@
int option_matches( struct argdesc *should, pval *is, struct argapp *app)
{
struct argchoice *ac;
- char opcop[400];
+ char *opcop;
switch (should->dtype) {
case ARGD_STRING:
@@ -1973,7 +1975,7 @@
break;
case ARGD_OPTIONSET:
- strncpy(opcop,is->u1.str,sizeof(opcop));
+ opcop = ast_strdupa(is->u1.str);
for (ac=app->opts; ac; ac=ac->next) {
if (strlen(ac->name)>1 && strchr(ac->name,'(') == 0 && strcmp(ac->name,is->u1.str) == 0) /* multichar option, no parens, and a match? */
@@ -2065,7 +2067,7 @@
{
#ifdef AAL_ARGCHECK
/* get and clean the variable name */
- char buff1[1024],*p;
+ char *buff1, *p;
struct argapp *a,*a2;
struct appsetvar *v,*v2;
struct argchoice *c;
@@ -2075,7 +2077,8 @@
while (p && *p && (*p == ' ' || *p == '\t' || *p == '$' || *p == '{' ) )
p++;
- strncpy(buff1,p,sizeof(buff1));
+ buff1 = ast_strdupa(p);
+
while (strlen(buff1) > 0 && ( buff1[strlen(buff1)-1] == '}' || buff1[strlen(buff1)-1] == ' ' || buff1[strlen(buff1)-1] == '\t'))
buff1[strlen(buff1)-1] = 0;
/* buff1 now contains the variable name */
@@ -3839,7 +3842,10 @@
}
+
/* interface stuff */
+
+/* if all the below are static, who cares if they are present? */
static int pbx_load_module(void)
{
More information about the asterisk-commits
mailing list