ast_log(LOG_DEBUG,"Recording Formats: sfmts=%s\n", fmts);
sfmt[0] = ast_strdupa(fmts);
- while((fmt = strsep(&stringp, "|"))) {
+ while ((fmt = strsep(&stringp, "|"))) {
if (fmtcnt > MAX_OTHER_FORMATS - 1) {
ast_log(LOG_WARNING, "Please increase MAX_OTHER_FORMATS in app.c\n");
break;
case AST_ACTION_BACKLIST:
res = 0;
c = ast_strdupa(option->adata);
- if (c) {
- while((n = strsep(&c, ";")))
- if ((res = ast_stream_and_wait(chan, n, chan->language,
- (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
- break;
- ast_stopstream(chan);
+ while ((n = strsep(&c, ";"))) {
+ if ((res = ast_stream_and_wait(chan, n, chan->language,
+ (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
+ break;
}
+ ast_stopstream(chan);
return res;
default:
ast_log(LOG_NOTICE, "Unknown dispatch function %d, ignoring!\n", option->action);
ast_log(LOG_NOTICE, "AMD using the default parameters.\n");
} else {
/* Some arguments have been passed. Lets parse them and overwrite the defaults. */
- if (!(parse = ast_strdupa(data))) {
- ast_log(LOG_WARNING, "Memory allocation failure\n");
- pbx_builtin_setvar_helper(chan , "AMDSTATUS" , "" );
- pbx_builtin_setvar_helper(chan , "AMDCAUSE" , "" );
- return;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
}
}
- if (!(argcopy = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ argcopy = ast_strdupa(data);
AST_STANDARD_APP_ARGS(arglist,argcopy);
LOCAL_USER_ADD(u);
- if (!(argv = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return 0;
- }
+ argv = ast_strdupa(data);
if (strchr(argv, '/')) {
family = strsep(&argv, "/");
LOCAL_USER_ADD(u);
- if (!(argv = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return 0;
- }
+ argv = ast_strdupa(data);
if (strchr(argv, '/')) {
family = strsep(&argv, "/");
LOCAL_USER_ADD(u);
- if (!(parse = ast_strdupa(data)))
- goto done;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(u);
- if (!(announce = ast_strdupa(data)))
- goto done;
+ announce = ast_strdupa(data);
memset(&peerflags, 0, sizeof(peerflags));
snprintf(dftbase, sizeof(dftbase), "%s/dictate", ast_config_AST_SPOOL_DIR);
if (!ast_strlen_zero(data)) {
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
} else
args.argc = 0;
LOCAL_USER_ADD(u);
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
ast_log(LOG_DEBUG, "Digittimeout: %d\n", digittimeout);
ast_log(LOG_DEBUG, "Responsetimeout: %d\n", firstdigittimeout);
- if (!(tmp = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
"The channel variable TRYSTATUS will be set to:\n"
" SUCCESS if the application returned zero\n"
" FAILED if the application returned non-zero\n"
-" NOAPP if the application was not found or was not specified\n"
-" NOMEMORY if there was not enough memory to execute.\n";
+" NOAPP if the application was not found or was not specified\n";
static char *app_execif = "ExecIf";
static char *execif_synopsis = "Executes dialplan application, conditionally";
/* Check and parse arguments */
if (data) {
- if ((s = ast_strdupa(data))) {
- appname = strsep(&s, "(");
- if (s) {
- endargs = strrchr(s, ')');
- if (endargs)
- *endargs = '\0';
- pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1);
- }
- if (appname) {
- app = pbx_findapp(appname);
- if (app) {
- res = pbx_exec(chan, app, args);
- } else {
- ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
- res = -1;
- }
+ s = ast_strdupa(data);
+ appname = strsep(&s, "(");
+ if (s) {
+ endargs = strrchr(s, ')');
+ if (endargs)
+ *endargs = '\0';
+ pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1);
+ }
+ if (appname) {
+ app = pbx_findapp(appname);
+ if (app) {
+ res = pbx_exec(chan, app, args);
+ } else {
+ ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
+ res = -1;
}
- } else
- res = -1;
+ }
}
LOCAL_USER_REMOVE(u);
/* Check and parse arguments */
if (data) {
- if ((s = ast_strdupa(data))) {
- appname = strsep(&s, "(");
- if (s) {
- endargs = strrchr(s, ')');
- if (endargs)
- *endargs = '\0';
- pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1);
- }
- if (appname) {
- app = pbx_findapp(appname);
- if (app) {
- res = pbx_exec(chan, app, args);
- pbx_builtin_setvar_helper(chan, "TRYSTATUS", res ? "FAILED" : "SUCCESS");
- } else {
- ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
- pbx_builtin_setvar_helper(chan, "TRYSTATUS", "NOAPP");
- }
+ s = ast_strdupa(data);
+ appname = strsep(&s, "(");
+ if (s) {
+ endargs = strrchr(s, ')');
+ if (endargs)
+ *endargs = '\0';
+ pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1);
+ }
+ if (appname) {
+ app = pbx_findapp(appname);
+ if (app) {
+ res = pbx_exec(chan, app, args);
+ pbx_builtin_setvar_helper(chan, "TRYSTATUS", res ? "FAILED" : "SUCCESS");
+ } else {
+ ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
+ pbx_builtin_setvar_helper(chan, "TRYSTATUS", "NOAPP");
}
- } else {
- ast_log(LOG_ERROR, "Out of memory\n");
- pbx_builtin_setvar_helper(chan, "TRYSTATUS", "NOMEMORY");
}
}
LOCAL_USER_ADD(u);
- if (!(expr = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ expr = ast_strdupa(data);
if ((myapp = strchr(expr,'|'))) {
*myapp = '\0';
return -1;
}
- if (!(buf = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(lu);
- return -1;
- }
+ buf = ast_strdupa(data);
argc = ast_app_separate_args(buf, '|', argv, sizeof(argv) / sizeof(argv[0]));
festivalcommand = newfestivalcommand;
}
- if (!(data = ast_strdupa(vdata))) {
- ast_config_destroy(cfg);
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ data = ast_strdupa(vdata);
intstr = strchr(data, '|');
if (intstr) {
LOCAL_USER_ADD(u);
- if (!(input = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ input = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, input);
LOCAL_USER_ADD(u);
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(u);
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- ast_log(LOG_ERROR, "Out of memory\n");
- LOCAL_USER_REMOVE(u);
- return(-1);
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- ast_log(LOG_ERROR, "Out of memory\n");
- LOCAL_USER_REMOVE(u);
- return(-1);
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- ast_log(LOG_ERROR, "Out of memory\n");
- LOCAL_USER_REMOVE(u);
- return(-1);
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- ast_log(LOG_ERROR, "Out of memory\n");
- LOCAL_USER_REMOVE(u);
- return(-1);
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
return -1;
};
- if (!(options = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ options = ast_strdupa(data);
ast_copy_string(originator, chan->name, sizeof(originator));
if ((tmp = strchr(originator, '-')))
a->language = "en"; /* default */
ast_log(LOG_WARNING, "try <%s> in <%s>\n", s, a->language);
lang = ast_strdupa(a->language);
- if (!lang) /* no memory! */
- return -1;
for (;;) {
for (v = ast_variable_browse(say_cfg, lang); v ; v = v->next) {
if (ast_extension_match(v->name, s)) {
return -1;
}
- if (!(tmp = ast_strdupa(data)))
- return -1;
+ tmp = ast_strdupa(data);
LOCAL_USER_ADD(u);
AST_STANDARD_APP_ARGS(args, tmp);
if (!ast_strlen_zero((char *)data))
{
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
return -1;
}
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
return -1;
}
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
return -1;
}
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
return -1;
}
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
}
parse = ast_strdupa(data);
- if (!parse) {
- ast_log(LOG_ERROR, "Out of memory!\n");
- return -1;
- }
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(lu);
LOCAL_USER_ADD(u);
- if (!(s = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ s = ast_strdupa(data);
prob = strsep(&s,":");
if ((!prob) || (sscanf(prob, "%d", &probint) != 1))
LOCAL_USER_ADD(u);
- if (!(argcopy = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ argcopy = ast_strdupa(data);
AST_STANDARD_APP_ARGS(arglist, argcopy);
LOCAL_USER_ADD(u);
- if (!(s = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ s = ast_strdupa(data);
varname = strsep(&s, "=");
file = strsep(&s, "|");
LOCAL_USER_ADD(u);
- if ((family = ast_strdupa(data))) {
- if ((colmatch = strchr(family,'|'))) {
- crop_data(colmatch);
- if ((value = strchr(colmatch,'|'))) {
- crop_data(value);
- if ((newcol = strchr(value,'|'))) {
- crop_data(newcol);
- if ((newval = strchr(newcol,'|')))
- crop_data(newval);
- }
+ family = ast_strdupa(data);
+ if ((colmatch = strchr(family,'|'))) {
+ crop_data(colmatch);
+ if ((value = strchr(colmatch,'|'))) {
+ crop_data(value);
+ if ((newcol = strchr(value,'|'))) {
+ crop_data(newcol);
+ if ((newval = strchr(newcol,'|')))
+ crop_data(newval);
}
}
}
LOCAL_USER_ADD(u);
- if ((family = ast_strdupa(data))) {
- if ((colmatch = strchr(family,'|'))) {
- crop_data(colmatch);
- if ((value = strchr(colmatch,'|'))) {
- crop_data(value);
- if ((prefix = strchr(value,'|')))
- crop_data(prefix);
- }
+ family = ast_strdupa(data);
+ if ((colmatch = strchr(family,'|'))) {
+ crop_data(colmatch);
+ if ((value = strchr(colmatch,'|'))) {
+ crop_data(value);
+ if ((prefix = strchr(value,'|')))
+ crop_data(prefix);
}
}
if (! (family && value && colmatch) ) {
LOCAL_USER_ADD(u);
/* Yay for strsep being easy */
- if (!(vdata = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ vdata = ast_strdupa(data);
p = vdata;
filename = strsep(&p, "|");
if (!data)
return 0;
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
LOCAL_USER_ADD(u);
LOCAL_USER_ADD(u);
- if (!(digits = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ digits = ast_strdupa(data);
if ((to = strchr(digits,'|'))) {
*to = '\0';
ast_log(LOG_WARNING, "SendText requires an argument (text[|options])\n");
LOCAL_USER_REMOVE(u);
return -1;
- } else {
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
- }
+ } else
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ tmp = ast_strdupa(data);
opt = strchr(tmp, '|');
if (opt) {
/* Do our thing here */
/* We need to make a copy of the input string if we are going to modify it! */
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
struct ast_speech *speech = find_speech(chan);
char *argv[2], *args = NULL, *name = NULL, *path = NULL;
- if (!(args = ast_strdupa(data)))
- return -1;
+ args = ast_strdupa(data);
LOCAL_USER_ADD(u);
struct ast_datastore *datastore = NULL;
char *argv[2], *args = NULL, *filename = NULL, tmp[2] = "";
- if (!(args = ast_strdupa(data)))
- return -1;
+ args = ast_strdupa(data);
LOCAL_USER_ADD(u);
return 0;
}
- if (!(args = ast_strdupa(data)))
- return -1;
+ args = ast_strdupa(data);
LOCAL_USER_ADD(u);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ tmp = ast_strdupa(data);
stringp=tmp;
strsep(&stringp, "|");
LOCAL_USER_REMOVE(u);
pbx_builtin_setvar_helper(chan, "TRANSFERSTATUS", "FAILURE");
return 0;
- } else {
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
- }
+ } else
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
LOCAL_USER_ADD(u);
- if (!(tmp = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ tmp = ast_strdupa(data);
stringp=tmp;
strsep(&stringp, "|");
LOCAL_USER_ADD(u);
- if (!(info = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ info = ast_strdupa(data);
snprintf(eventname, sizeof(eventname), "UserEvent%s", info);
eventbody = strchr(eventname, '|');
LOCAL_USER_ADD(u);
if (data) {
- if ((vtext = ast_strdupa(data))) {
- char *tmp = strsep(&vtext, "|");
- if (vtext) {
- if (sscanf(tmp, "%d", &vsize) != 1) {
- vsize = 0;
- ast_log(LOG_WARNING, "'%s' is not a verboser number\n", vtext);
- }
- } else {
- vtext = tmp;
+ char *tmp;
+ vtext = ast_strdupa(data);
+ tmp = strsep(&vtext, "|");
+ if (vtext) {
+ if (sscanf(tmp, "%d", &vsize) != 1) {
vsize = 0;
+ ast_log(LOG_WARNING, "'%s' is not a verboser number\n", vtext);
}
- if (option_verbose >= vsize) {
- switch (vsize) {
- case 0:
- ast_verbose("%s\n", vtext);
- break;
- case 1:
- ast_verbose(VERBOSE_PREFIX_1 "%s\n", vtext);
- break;
- case 2:
- ast_verbose(VERBOSE_PREFIX_2 "%s\n", vtext);
- break;
- case 3:
- ast_verbose(VERBOSE_PREFIX_3 "%s\n", vtext);
- break;
- default:
- ast_verbose(VERBOSE_PREFIX_4 "%s\n", vtext);
- }
+ } else {
+ vtext = tmp;
+ vsize = 0;
+ }
+ if (option_verbose >= vsize) {
+ switch (vsize) {
+ case 0:
+ ast_verbose("%s\n", vtext);
+ break;
+ case 1:
+ ast_verbose(VERBOSE_PREFIX_1 "%s\n", vtext);
+ break;
+ case 2:
+ ast_verbose(VERBOSE_PREFIX_2 "%s\n", vtext);
+ break;
+ case 3:
+ ast_verbose(VERBOSE_PREFIX_3 "%s\n", vtext);
+ break;
+ default:
+ ast_verbose(VERBOSE_PREFIX_4 "%s\n", vtext);
}
}
}
return 0;
}
- if (!(ltext = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return 0;
- }
+ ltext = ast_strdupa(data);
level = strsep(<ext, "|");
}
/* Attach only the first format */
- if ((fmt = ast_strdupa(fmt))) {
- stringp = fmt;
- strsep(&stringp, "|");
+ fmt = ast_strdupa(fmt);
+ stringp = fmt;
+ strsep(&stringp, "|");
- if (!ast_strlen_zero(vmu->email)) {
- int attach_user_voicemail = ast_test_flag((&globalflags), VM_ATTACH);
- char *myserveremail = serveremail;
- attach_user_voicemail = ast_test_flag(vmu, VM_ATTACH);
- if (!ast_strlen_zero(vmu->serveremail))
- myserveremail = vmu->serveremail;
- sendmail(myserveremail, vmu, msgnum, vmu->context, vmu->mailbox, cidnum, cidname, fn, fmt, duration, attach_user_voicemail, category);
- }
+ if (!ast_strlen_zero(vmu->email)) {
+ int attach_user_voicemail = ast_test_flag((&globalflags), VM_ATTACH);
+ char *myserveremail = serveremail;
+ attach_user_voicemail = ast_test_flag(vmu, VM_ATTACH);
+ if (!ast_strlen_zero(vmu->serveremail))
+ myserveremail = vmu->serveremail;
+ sendmail(myserveremail, vmu, msgnum, vmu->context, vmu->mailbox, cidnum, cidname, fn, fmt, duration, attach_user_voicemail, category);
+ }
- if (!ast_strlen_zero(vmu->pager)) {
- char *myserveremail = serveremail;
- if (!ast_strlen_zero(vmu->serveremail))
- myserveremail = vmu->serveremail;
- sendpage(myserveremail, vmu->pager, msgnum, vmu->context, vmu->mailbox, cidnum, cidname, duration, vmu, category);
- }
+ if (!ast_strlen_zero(vmu->pager)) {
+ char *myserveremail = serveremail;
+ if (!ast_strlen_zero(vmu->serveremail))
+ myserveremail = vmu->serveremail;
+ sendpage(myserveremail, vmu->pager, msgnum, vmu->context, vmu->mailbox, cidnum, cidname, duration, vmu, category);
}
if (ast_test_flag(vmu, VM_DELETE)) {
AST_APP_ARG(argv1);
);
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
ast_answer(chan);
if (!ast_strlen_zero(data)) {
- tmp = ast_strdupa((char *)data);
- if (!tmp) {
- ast_log(LOG_ERROR, "Out of memory\n");
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
if (args.argc == 2) {
if (ast_app_parse_options(vm_app_options, &flags, opts, args.argv1)) {
LOCAL_USER_ADD(u);
- if (!(box = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ box = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, box);
LOCAL_USER_ADD(u);
if (s) {
- if (!(s = ast_strdupa(s)))
- return -1;
+ s = ast_strdupa(s);
user = strsep(&s, "|");
options = strsep(&s, "|");
if (user) {
struct vm_zone *z;
if ((z = ast_malloc(sizeof(*z)))) {
char *msg_format, *timezone;
- if ((msg_format = ast_strdupa(var->value))) {
- timezone = strsep(&msg_format, "|");
- if (msg_format) {
- ast_copy_string(z->name, var->name, sizeof(z->name));
- ast_copy_string(z->timezone, timezone, sizeof(z->timezone));
- ast_copy_string(z->msg_format, msg_format, sizeof(z->msg_format));
- AST_LIST_LOCK(&zones);
- AST_LIST_INSERT_HEAD(&zones, z, list);
- AST_LIST_UNLOCK(&zones);
- } else {
- ast_log(LOG_WARNING, "Invalid timezone definition at line %d\n", var->lineno);
- free(z);
- }
+ msg_format = ast_strdupa(var->value);
+ timezone = strsep(&msg_format, "|");
+ if (msg_format) {
+ ast_copy_string(z->name, var->name, sizeof(z->name));
+ ast_copy_string(z->timezone, timezone, sizeof(z->timezone));
+ ast_copy_string(z->msg_format, msg_format, sizeof(z->msg_format));
+ AST_LIST_LOCK(&zones);
+ AST_LIST_INSERT_HEAD(&zones, z, list);
+ AST_LIST_UNLOCK(&zones);
} else {
+ ast_log(LOG_WARNING, "Invalid timezone definition at line %d\n", var->lineno);
free(z);
- return -1;
}
- } else {
+ } else {
+ free(z);
return -1;
}
var = var->next;
snprintf(used_index, VAR_SIZE, "%d", used_index_i);
snprintf(new_index, VAR_SIZE, "%d", used_index_i + 1);
- if (!end) {
- condition = ast_strdupa((char *) data);
- }
+ if (!end)
+ condition = ast_strdupa(data);
size = strlen(chan->context) + strlen(chan->exten) + 32;
my_name = alloca(size);
LOCAL_USER_ADD(u);
- if (!(args = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ args = ast_strdupa(data);
/* Answer the channel if it's not up */
if (chan->_state != AST_STATE_UP)
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
- desired_group = ast_strdupa((char *) data);
+ desired_group = ast_strdupa(data);
if(!ast_strlen_zero(desired_group)) {
ast_verbose(VERBOSE_PREFIX_3 "Scanning for group %s\n", desired_group);
search_group = 1;
char *l = NULL, *n = NULL;
tmp = ast_strdupa(buf);
- if (!tmp) {
- name[0] = '\0';
- num[0] = '\0';
- return -1;
- }
ast_callerid_parse(tmp, &n, &l);
if (n)
ast_copy_string(name, n, namelen);
} *fdmap;
sz = n * AST_MAX_FDS + nfds;
- if (!(pfds = alloca(sizeof(*pfds) * sz)) || !(fdmap = alloca(sizeof(*fdmap) * sz))) {
- ast_log(LOG_ERROR, "Out of memory\n");
- *outfd = -1;
- return NULL;
- }
+ pfds = alloca(sizeof(*pfds) * sz);
+ fdmap = alloca(sizeof(*fdmap) * sz);
if (outfd)
*outfd = -99999;
ast_group_t group = 0;
c = ast_strdupa(s);
- if (!c)
- return 0;
while ((piece = strsep(&c, ","))) {
if (sscanf(piece, "%d-%d", &start, &finish) == 2) {
char *agt = NULL;
struct agent_pvt *p;
- if (!(parse = ast_strdupa(agent)))
- return NULL;
+ parse = ast_strdupa(agent);
/* Extract username (agt), password and name from agent (args). */
AST_NONSTANDARD_APP_ARGS(args, parse, ',');
LOCAL_USER_ADD(u);
- if (!(parse = ast_strdupa(data))) {
- LOCAL_USER_REMOVE(u);
- return -1;
- }
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
return -1;
}
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_NONSTANDARD_APP_ARGS(args, parse, ':');
if (!args.item)
char *key = NULL;
family = ast_strdupa(peer->dbsecret);
- if (family) {
- key = strchr(family, '/');
- if (key)
- *key++ = '\0';
- }
- if (!family || !key || ast_db_get(family, key, cai->secret, sizeof(cai->secret))) {
+ key = strchr(family, '/');
+ if (key)
+ *key++ = '\0';
+ if (!key || ast_db_get(family, key, cai->secret, sizeof(cai->secret))) {
ast_log(LOG_WARNING, "Unable to retrieve database password for family/key '%s'!\n", peer->dbsecret);
if (ast_test_flag(peer, IAX_TEMPONLY))
destroy_peer(peer);
tmppw = ast_strdupa(iaxs[callno]->secret);
stringp = tmppw;
- while((tmppw = strsep(&stringp, ";"))) {
+ while ((tmppw = strsep(&stringp, ";"))) {
MD5Init(&md5);
MD5Update(&md5, (unsigned char *)iaxs[callno]->challenge, strlen(iaxs[callno]->challenge));
MD5Update(&md5, (unsigned char *)tmppw, strlen(tmppw));
if (!ast_strlen_zero(user->dbsecret)) {
char *family, *key=NULL;
family = ast_strdupa(user->dbsecret);
- if (family) {
- key = strchr(family, '/');
- if (key) {
- *key = '\0';
- key++;
- }
+ key = strchr(family, '/');
+ if (key) {
+ *key = '\0';
+ key++;
}
- if (!family || !key || ast_db_get(family, key, iaxs[callno]->secret, sizeof(iaxs[callno]->secret))) {
+ if (!key || ast_db_get(family, key, iaxs[callno]->secret, sizeof(iaxs[callno]->secret))) {
ast_log(LOG_WARNING, "Unable to retrieve database password for family/key '%s'!\n", user->dbsecret);
if (ast_test_flag(user, IAX_TEMPONLY)) {
destroy_user(user);
char *tmpcall;
char *c;
tmpcall = ast_strdupa(r->callid);
- if (tmpcall) {
- c = strchr(tmpcall, '@');
- if (c) {
- *c = '\0';
- ast_string_field_build(r, callid, "%s@%s", tmpcall, peer->fromdomain);
- }
+ c = strchr(tmpcall, '@');
+ if (c) {
+ *c = '\0';
+ ast_string_field_build(r, callid, "%s@%s", tmpcall, peer->fromdomain);
}
}
if (ast_strlen_zero(r->tohost)) {
if (!req)
req = &sip_pvt->initreq;
- if (!( (p_refer_to = get_header(req, "Refer-To")) && (h_refer_to = ast_strdupa(p_refer_to)) )) {
+ if (!(p_refer_to = get_header(req, "Refer-To"))) {
ast_log(LOG_WARNING, "No Refer-To Header That's illegal\n");
return -1;
}
-
+ h_refer_to = ast_strdupa(p_refer_to);
refer_to = get_in_brackets(h_refer_to);
- if (!( (p_referred_by = get_header(req, "Referred-By")) && (h_referred_by = ast_strdupa(p_referred_by)) )) {
- ast_log(LOG_WARNING, "No Referrred-By Header That's not illegal\n");
+ if (!(p_referred_by = get_header(req, "Referred-By"))) {
+ ast_log(LOG_DEBUG, "No Referrred-By Header That's not illegal\n");
return -1;
- } else {
- if (pedanticsipchecking)
- ast_uri_decode(h_referred_by);
- referred_by = get_in_brackets(h_referred_by);
}
+ h_referred_by = ast_strdupa(p_referred_by);
+ if (pedanticsipchecking)
+ ast_uri_decode(h_referred_by);
+ referred_by = get_in_brackets(h_referred_by);
h_contact = get_header(req, "Contact");
if (strncmp(refer_to, "sip:", 4)) {
if ((c = strchr(of, ':')))
*c = '\0';
tmp = ast_strdupa(of);
- if (tmp) {
- if (ast_is_shrinkable_phonenumber(tmp))
- ast_shrink_phone_number(tmp);
- ast_string_field_set(p, cid_num, tmp);
- } else {
- ast_string_field_set(p, cid_num, of);
- }
+ if (ast_is_shrinkable_phonenumber(tmp))
+ ast_shrink_phone_number(tmp);
+ ast_string_field_set(p, cid_num, tmp);
}
if (ast_strlen_zero(of))
return 0;
if (*calleridname)
ast_string_field_set(p, cid_name, calleridname);
tmp = ast_strdupa(rpid_num);
- if (tmp) {
- if (ast_is_shrinkable_phonenumber(tmp))
- ast_shrink_phone_number(tmp);
- ast_string_field_set(p, cid_num, tmp);
- } else {
- ast_string_field_set(p, cid_num, rpid_num);
- }
+ if (ast_is_shrinkable_phonenumber(tmp))
+ ast_shrink_phone_number(tmp);
+ ast_string_field_set(p, cid_num, tmp);
}
ast_string_field_set(p, context, user->context);
if (!ast_strlen_zero(user->cid_num) && !ast_strlen_zero(p->cid_num)) {
char *tmp = ast_strdupa(user->cid_num);
- if (tmp) {
- if (ast_is_shrinkable_phonenumber(tmp))
- ast_shrink_phone_number(tmp);
- ast_string_field_set(p, cid_num, tmp);
- } else {
- ast_string_field_set(p, cid_num, user->cid_num);
- }
+ if (ast_is_shrinkable_phonenumber(tmp))
+ ast_shrink_phone_number(tmp);
+ ast_string_field_set(p, cid_num, tmp);
}
if (!ast_strlen_zero(user->cid_name) && !ast_strlen_zero(p->cid_num))
ast_string_field_set(p, cid_name, user->cid_name);
char *tmp = ast_strdupa(rpid_num);
if (*calleridname)
ast_string_field_set(p, cid_name, calleridname);
- if (tmp) {
- if (ast_is_shrinkable_phonenumber(tmp))
- ast_shrink_phone_number(tmp);
- ast_string_field_set(p, cid_num, tmp);
- } else {
- ast_string_field_set(p, cid_num, rpid_num);
- }
+ if (ast_is_shrinkable_phonenumber(tmp))
+ ast_shrink_phone_number(tmp);
+ ast_string_field_set(p, cid_num, tmp);
}
usenatroute = ast_test_flag(&p->flags[0], SIP_NAT_ROUTE);
if (p->rtp) {
}
if (!ast_strlen_zero(peer->cid_num) && !ast_strlen_zero(p->cid_num)) {
char *tmp = ast_strdupa(peer->cid_num);
- if (tmp) {
- if (ast_is_shrinkable_phonenumber(tmp))
- ast_shrink_phone_number(tmp);
- ast_string_field_set(p, cid_num, tmp);
- } else {
- ast_string_field_set(p, cid_num, peer->cid_num);
- }
+ if (ast_is_shrinkable_phonenumber(tmp))
+ ast_shrink_phone_number(tmp);
+ ast_string_field_set(p, cid_num, tmp);
}
if (!ast_strlen_zero(peer->cid_name) && !ast_strlen_zero(p->cid_name))
ast_string_field_set(p, cid_name, peer->cid_name);
ast_copy_string(user->subscribecontext, v->value, sizeof(user->subscribecontext));
} else if (!strcasecmp(v->name, "setvar")) {
varname = ast_strdupa(v->value);
- if (varname && (varval = strchr(varname,'='))) {
+ if ((varval = strchr(varname,'='))) {
*varval++ = '\0';
if ((tmpvar = ast_variable_new(varname, varval))) {
tmpvar->next = user->chanvars;
} else if (!strcasecmp(v->name, "setvar")) {
/* Set peer channel variable */
varname = ast_strdupa(v->value);
- if (varname && (varval = strchr(varname,'='))) {
+ if ((varval = strchr(varname, '='))) {
*varval++ = '\0';
if ((tmpvar = ast_variable_new(varname, varval))) {
tmpvar->next = peer->chanvars;
char *extension, *host, *port;
char tmp[80];
- if (!(cdest = ast_strdupa(dest)))
- return 0;
+ cdest = ast_strdupa(dest);
extension = strsep(&cdest, "@");
host = strsep(&cdest, ":");
ast_log(LOG_ERROR, "Can't find the host address\n");
return 0;
}
- if (!(host = ast_strdupa(lhost)))
- return 0;
+ host = ast_strdupa(lhost);
if (!ast_strlen_zero(lport)) {
- if (!(port = ast_strdupa(lport)))
- return 0;
+ port = ast_strdupa(lport);
}
}
}
len = af->datalen / 2;
break;
case AST_FORMAT_ULAW:
- if (!(shortdata = alloca(af->datalen * 2))) {
- ast_log(LOG_WARNING, "Unable to allocate stack space for data: %s\n", strerror(errno));
- return af;
- }
- for (x=0;x<len;x++)
+ shortdata = alloca(af->datalen * 2);
+ for (x = 0;x < len; x++)
shortdata[x] = AST_MULAW(odata[x]);
break;
case AST_FORMAT_ALAW:
- if (!(shortdata = alloca(af->datalen * 2))) {
- ast_log(LOG_WARNING, "Unable to allocate stack space for data: %s\n", strerror(errno));
- return af;
- }
- for (x=0;x<len;x++)
+ shortdata = alloca(af->datalen * 2);
+ for (x = 0; x < len; x++)
shortdata[x] = AST_ALAW(odata[x]);
break;
default:
if (!data)
return ERROR_NOARG;
- if (!(strings = ast_strdupa(data)))
- return ERROR_NOMEM;
+ strings = ast_strdupa(data);
for (ptrkey = strings; *ptrkey; ptrkey++) {
if (*ptrkey == '|')
}
sortable_keys = alloca(count * sizeof(struct sortable_keys));
- if (!sortable_keys)
- return ERROR_NOMEM;
memset(sortable_keys, 0, count * sizeof(struct sortable_keys));
memset(buffer, 0, buflen);
- if (!(parse = ast_strdupa(data)))
- return ERROR_NOMEM;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
const char *__old = (s); \
size_t __len = strlen(__old) + 1; \
char *__new = __builtin_alloca(__len); \
- if (__builtin_expect(!__new, 0)) \
- ast_log(LOG_ERROR, "Stack Allocation Error in" \
- "function '%s' at line '%d' of '%s'!\n", \
- __PRETTY_FUNCTION__, __LINE__, __FILE__); \
- else \
- memcpy (__new, __old, __len); \
+ memcpy (__new, __old, __len); \
__new; \
}))
#endif
{
char *s, *data = ast_strdupa(playlst); /* cute */
struct playtones_def d = { vol, -1, 0, 1, NULL};
- char *stringp=NULL;
+ char *stringp;
char *separator;
- if (!data)
- return -1;
+
if (vol < 1)
d.vol = 7219; /* Default to -8db */
if (name[0] == '_')
name++;
- if (!(n1 = alloca(strlen(name) + 2))) /* room for leading '_' and final '\0' */
- return NULL;
+ n1 = alloca(strlen(name) + 2); /* room for leading '_' and final '\0' */
n1[0] = '_';
strcpy(n1+1, name);
s = dlsym(m->lib, n1+1); /* try without '_' */
time(&t);
localtime_r(&t, &tm);
strftime(date, sizeof(date), dateformat, &tm);
- if ((datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1))) {
- sprintf(datefmt, "[%s] %s", date, fmt);
- fmt = datefmt;
- }
+ datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1);
}
/* this lock is also protecting against multiple threads
if (strncasecmp("Variable: ", m->headers[x], varlen))
continue;
- if (!(parse = ast_strdupa(m->headers[x] + varlen)))
- return head;
+ parse = ast_strdupa(m->headers[x] + varlen);
AST_STANDARD_APP_ARGS(args, parse);
if (args.argc) {
sin.sin_family = AF_INET;
sin.sin_port = htons(defaultport);
tmp = ast_strdupa(bindinfo);
- if (!tmp) {
- ast_log(LOG_WARNING, "Out of memory!\n");
- return NULL;
- }
host = strsep(&tmp, ":");
port = tmp;
struct ast_flags flags = { 0 };
if (!ast_strlen_zero(data)) {
- if (!(args = ast_strdupa(data)))
- return -1;
+ args = ast_strdupa(data);
ast_app_parse_options(resetcdr_opts, &flags, NULL, args);
}
return -1;
}
- if ((s = ast_strdupa(data))) {
- ts = s;
+ ts = s = ast_strdupa(data);
- /* Separate the Goto path */
- strsep(&ts,"?");
+ /* Separate the Goto path */
+ strsep(&ts,"?");
- /* struct ast_include include contained garbage here, fixed by zeroing it on get_timerange */
- if (ast_build_timing(&timing, s) && ast_check_timing(&timing))
- res = pbx_builtin_goto(chan, (void *)ts);
- }
+ /* struct ast_include include contained garbage here, fixed by zeroing it on get_timerange */
+ if (ast_build_timing(&timing, s) && ast_check_timing(&timing))
+ res = pbx_builtin_goto(chan, ts);
+
return res;
}
return -1;
}
- if (!(appname = ast_strdupa(data)))
- return -1;
+ appname = ast_strdupa(data);
s = strsep(&appname,"?"); /* Separate the timerange and application name/data */
if (!appname) { /* missing application */
);
if (!ast_strlen_zero(data)) {
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
} else
memset(&args, 0, sizeof(args));
if (ast_strlen_zero(data))
ast_log(LOG_WARNING, "Background requires an argument (filename)\n");
- if (!(parse = ast_strdupa(data)))
- return -1;
+ parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
int x;
int y;
- if (!(t = ast_strdupa(value)))
- return;
+ t = ast_strdupa(value);
AST_LIST_TRAVERSE(&mappings, map, list) {
/* Find a double match */
/* agiusl is "agi://host.domain[:port][/script/name]" */
host = ast_strdupa(agiurl + 6); /* Remove agi:// */
- if (!host)
- return -1;
/* Strip off any script name */
if ((c = strchr(host, '/'))) {
*c = '\0';
if (ast_strlen_zero(app))
return RESULT_SHOWUSAGE;
- if (!(chandata = ast_strdupa(chan)))
- return RESULT_FAILURE;
+ chandata = ast_strdupa(chan);
chantech = strsep(&chandata, "/");
if (!chandata) {
char *context = NULL;
int reason = 0;
- if (!(chandata = ast_strdupa(chan)))
- return RESULT_FAILURE;
+ chandata = ast_strdupa(chan);
chantech = strsep(&chandata, "/");
if (!chandata) {
}
if (!ast_strlen_zero(data)) {
- if (!(context = ast_strdupa(data)))
- return RESULT_FAILURE;
+ context = ast_strdupa(data);
exten = strsep(&context, "@");
}
return NULL;
}
initfield = ast_strdupa(newparam);
- if (initfield && (op = strchr(initfield, ' ')))
+ if ((op = strchr(initfield, ' ')))
*op = '\0';
newval = va_arg(aq, const char *);
if (!strchr(newparam, ' ')) op = " ="; else op = "";
}
initfield = ast_strdupa(newparam);
- if (initfield && (op = strchr(initfield, ' '))) {
+ if ((op = strchr(initfield, ' '))) {
*op = '\0';
}
goto fail_out;
}
- if (!(file_in = ast_strdupa(argv[1])) || !(file_out = ast_strdupa(argv[2])))
- goto fail_out;
+ file_in = ast_strdupa(argv[1]);
+ file_out = ast_strdupa(argv[2]);
if (split_ext(file_in, &name_in, &ext_in)) {
ast_cli(fd, "'%s' is an invalid filename!\n", argv[1]);
char *x, *goto_on_transfer;
struct ast_frame *f;
- if (!ast_strlen_zero(val) && (goto_on_transfer = ast_strdupa(val)) && (xferchan = ast_channel_alloc(0))) {
- for (x = goto_on_transfer; x && *x; x++)
- if (*x == '^')
- *x = '|';
- ast_string_field_set(xferchan, name, chan->name);
- /* Make formats okay */
- xferchan->readformat = chan->readformat;
- xferchan->writeformat = chan->writeformat;
- ast_channel_masquerade(xferchan, chan);
- ast_parseable_goto(xferchan, goto_on_transfer);
- xferchan->_state = AST_STATE_UP;
- ast_clear_flag(xferchan, AST_FLAGS_ALL);
- xferchan->_softhangup = 0;
- if ((f = ast_read(xferchan))) {
- ast_frfree(f);
- f = NULL;
- ast_pbx_start(xferchan);
- } else {
- ast_hangup(xferchan);
- }
+ if (ast_strlen_zero(val))
+ return;
+
+ goto_on_transfer = ast_strdupa(val);
+
+ if (!(xferchan = ast_channel_alloc(0)))
+ return;
+
+ for (x = goto_on_transfer; x && *x; x++) {
+ if (*x == '^')
+ *x = '|';
+ }
+ ast_string_field_set(xferchan, name, chan->name);
+ /* Make formats okay */
+ xferchan->readformat = chan->readformat;
+ xferchan->writeformat = chan->writeformat;
+ ast_channel_masquerade(xferchan, chan);
+ ast_parseable_goto(xferchan, goto_on_transfer);
+ xferchan->_state = AST_STATE_UP;
+ ast_clear_flag(xferchan, AST_FLAGS_ALL);
+ xferchan->_softhangup = 0;
+ if ((f = ast_read(xferchan))) {
+ ast_frfree(f);
+ f = NULL;
+ ast_pbx_start(xferchan);
+ } else {
+ ast_hangup(xferchan);
}
}
char *tmp = ast_strdupa(dynamic_features);
char *tok;
- if (!tmp)
- return res;
-
while ((tok = strsep(&tmp, "#")) != NULL) {
feature = find_feature(tok);
char *tok;
struct ast_call_feature *feature;
- if (!tmp) /* no memory */
- return;
-
/* while we have a feature */
- while (NULL != (tok = strsep(&tmp, "#"))) {
+ while ((tok = strsep(&tmp, "#"))) {
if ((feature = find_feature(tok)) && ast_test_flag(feature, AST_FEATURE_FLAG_NEEDSDTMF)) {
if (ast_test_flag(feature, AST_FEATURE_FLAG_CALLER))
ast_set_flag(config, AST_BRIDGE_DTMF_CHANNEL_0);
src = peer;
if (monitor_app && src) {
char *tmp = ast_strdupa(monitor_exec);
- if (tmp) {
- pbx_exec(src, monitor_app, tmp);
- } else {
- ast_log(LOG_ERROR, "Monitor failed: out of memory\n");
- }
+ pbx_exec(src, monitor_app, tmp);
}
}
seq++;
ast_mutex_unlock(&monitorlock);
- if((channel_name = ast_strdupa(chan->name))) {
- while((p = strchr(channel_name, '/'))) {
- *p = '-';
- }
- snprintf(monitor->filename_base, FILENAME_MAX, "%s/%d-%s",
- ast_config_AST_MONITOR_DIR, (int)time(NULL),channel_name);
- monitor->filename_changed = 1;
- } else {
- ast_log(LOG_ERROR,"Failed to allocate Memory\n");
- return -1;
+ channel_name = ast_strdupa(chan->name);
+ while ((p = strchr(channel_name, '/'))) {
+ *p = '-';
}
+ snprintf(monitor->filename_base, FILENAME_MAX, "%s/%d-%s",
+ ast_config_AST_MONITOR_DIR, (int)time(NULL), channel_name);
+ monitor->filename_changed = 1;
}
monitor->stop = ast_monitor_stop;
the following could give NULL results, but we check just to
be pedantic. Reconstructing with checks for 'm' option does not
work if we end up adding more options than 'm' in the future. */
- delay = ast_strdupa((char*)data);
- if (delay) {
- options = strrchr(delay, '|');
- if (options) {
- arg = strchr(options, 'b');
- if (arg) {
- *arg = 'X';
- pbx_builtin_setvar_helper(chan,"AUTO_MONITOR",delay);
- }
+ delay = ast_strdupa(data);
+ options = strrchr(delay, '|');
+ if (options) {
+ arg = strchr(options, 'b');
+ if (arg) {
+ *arg = 'X';
+ pbx_builtin_setvar_helper(chan,"AUTO_MONITOR",delay);
}
}
return 0;
int buflen;
buflen = strlen(name) + strlen(value) + 2;
- if (!(buf = alloca(buflen)))
- return -1;
+ buf = alloca(buflen);
if (!overwrite && getenv(name))
return 0;