#include <asterisk/module.h>
#include <asterisk/adsi.h>
#include <asterisk/options.h>
+#include <asterisk/utils.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <unistd.h>
maxlen = strlen(src) - 1;
memcpy(out, src, maxlen);
((char *)out)[maxlen] = '\0';
- } else if (strlen(src) && (src[0] == '\\')) {
+ } else if (!ast_strlen_zero(src) && (src[0] == '\\')) {
if (!(argtype & ARG_NUMBER))
return -1;
/* Octal value */
/* Convert */
*((unsigned int *)out) = htonl(*((unsigned int *)out));
}
- } else if ((strlen(src) && isdigit(src[0]))) {
+ } else if ((!ast_strlen_zero(src) && isdigit(src[0]))) {
if (!(argtype & ARG_NUMBER))
return -1;
/* Hex value */
/* Strip comments */
if (c)
*c = '\0';
- if (strlen(buf))
+ if (!ast_strlen_zero(buf))
adsi_process(scr, buf, script, lineno);
}
}
{
int res=0;
struct localuser *u;
- if (!data || !strlen(data))
+ if (!data || ast_strlen_zero(data))
data = "asterisk.adsi";
LOCAL_USER_ADD(u);
if (!adsi_available(chan)) {
#include <asterisk/app.h>
#include <asterisk/dsp.h>
#include <asterisk/musiconhold.h>
+#include <asterisk/utils.h>
#include "../asterisk.h"
#include "../astconf.h"
int pid;
char *stringp;
AGI agi;
- if (!data || !strlen(data)) {
+ if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "AGI requires an argument (script)\n");
return -1;
}
#include <asterisk/module.h>
#include <asterisk/app.h>
#include <asterisk/astdb.h>
+#include <asterisk/utils.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
char passwd[256];
char *opts;
char *prompt;
- if (!data || !strlen(data)) {
+ if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Authenticate requires an argument(password)\n");
return -1;
}
char buf[256] = "";
while(!feof(f)) {
fgets(buf, sizeof(buf), f);
- if (!feof(f) && strlen(buf)) {
+ if (!feof(f) && !ast_strlen_zero(buf)) {
buf[strlen(buf) - 1] = '\0';
- if (strlen(buf) && !strcmp(passwd, buf))
+ if (!ast_strlen_zero(buf) && !strcmp(passwd, buf))
break;
}
}
fclose(f);
- if (strlen(buf) && !strcmp(passwd, buf))
+ if (!ast_strlen_zero(buf) && !strcmp(passwd, buf))
break;
} else
ast_log(LOG_WARNING, "Unable to open file '%s' for authentication: %s\n", password, strerror(errno));
#include <asterisk/parking.h>
#include <asterisk/musiconhold.h>
#include <asterisk/callerid.h>
+#include <asterisk/utils.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
*allowdisconnect = o->allowdisconnect;
}
} else if (o->chan && (o->chan == winner)) {
- if (strlen(o->chan->call_forward)) {
+ if (!ast_strlen_zero(o->chan->call_forward)) {
char tmpchan[256];
/* Before processing channel, go ahead and check for forwarding */
if (option_verbose > 2)
}
if (o->chan->rdnis)
free(o->chan->rdnis);
- if (strlen(in->macroexten))
+ if (!ast_strlen_zero(in->macroexten))
o->chan->rdnis = strdup(in->macroexten);
else
o->chan->rdnis = strdup(in->exten);
}
} else
timeout = NULL;
- if (!peers || !strlen(peers)) {
+ if (!peers || ast_strlen_zero(peers)) {
ast_log(LOG_WARNING, "Dial argument takes format (technology1/number1&technology2/number2...|optional timeout)\n");
goto out;
}
}
if (resetcdr && chan->cdr)
ast_cdr_reset(chan->cdr, 0);
- if (!strlen(privdb) && privacy) {
+ if (ast_strlen_zero(privdb) && privacy) {
/* If privdb is not specified and we are using privacy, copy from extension */
strncpy(privdb, chan->exten, sizeof(privdb) - 1);
}
cur = rest;
continue;
}
- if (strlen(tmp->chan->call_forward)) {
+ if (!ast_strlen_zero(tmp->chan->call_forward)) {
char tmpchan[256];
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Forwarding call to '%s@%s'\n", tmp->chan->call_forward, tmp->chan->context);
tmp->chan->callerid = NULL;
/* Copy language from incoming to outgoing */
strcpy(tmp->chan->language, chan->language);
- if (!strlen(tmp->chan->musicclass))
+ if (ast_strlen_zero(tmp->chan->musicclass))
strncpy(tmp->chan->musicclass, chan->musicclass, sizeof(tmp->chan->musicclass) - 1);
if (chan->ani)
tmp->chan->ani = strdup(chan->ani);
cur = rest;
} while(cur);
- if (timeout && strlen(timeout)) {
+ if (timeout && !ast_strlen_zero(timeout)) {
to = atoi(timeout);
if (to > 0)
to *= 1000;
return -1;
}
/* JDG: sendurl */
- if( url && strlen(url) && ast_channel_supports_html(peer) ) {
+ if( url && !ast_strlen_zero(url) && ast_channel_supports_html(peer) ) {
ast_log(LOG_DEBUG, "app_dial: sendurl=%s.\n", url);
ast_channel_sendurl( peer, url );
} /* /JDG */
if (cur->retransid > -1)
ast_sched_del(sched, cur->retransid);
cur->retransid = -1;
+ /* Schedule destruction in 15000ms just in case */
+ sip_scheddestroy(p, 15000);
res = 0;
break;
}
sip = iflist;
while(sip) {
ast_mutex_lock(&sip->lock);
- if (sip->needdestroy && (!sip->packets || (sip->packets->retransid == -1))) {
+ if (sip->needdestroy && !sip->packets) {
ast_mutex_unlock(&sip->lock);
__sip_destroy(sip, 1);
goto restartsearch;