Merged revisions 316265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines Fix a bunch of compiler warnings generated by gcc 4.6.0. Most of these are -Wunused-but-set-variable, but there were a few others mixed in here, as well. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@316293 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
39277e4ddd
commit
681ceaeaac
|
@ -157,7 +157,6 @@ static void isAnsweringMachine(struct ast_channel *chan, const char *data)
|
|||
int iTotalTime = 0;
|
||||
int iWordsCount = 0;
|
||||
int currentState = STATE_IN_WORD;
|
||||
int previousState = STATE_IN_SILENCE;
|
||||
int consecutiveVoiceDuration = 0;
|
||||
char amdCause[256] = "", amdStatus[256] = "";
|
||||
char *parse = ast_strdupa(data);
|
||||
|
@ -303,7 +302,6 @@ static void isAnsweringMachine(struct ast_channel *chan, const char *data)
|
|||
|
||||
if (silenceDuration >= betweenWordsSilence) {
|
||||
if (currentState != STATE_IN_SILENCE ) {
|
||||
previousState = currentState;
|
||||
ast_verb(3, "AMD: Channel [%s]. Changed state to STATE_IN_SILENCE\n", chan->name);
|
||||
}
|
||||
/* Find words less than word duration */
|
||||
|
@ -343,7 +341,6 @@ static void isAnsweringMachine(struct ast_channel *chan, const char *data)
|
|||
if (consecutiveVoiceDuration >= minimumWordLength && currentState == STATE_IN_SILENCE) {
|
||||
iWordsCount++;
|
||||
ast_verb(3, "AMD: Channel [%s]. Word detected. iWordsCount:%d\n", chan->name, iWordsCount);
|
||||
previousState = currentState;
|
||||
currentState = STATE_IN_WORD;
|
||||
}
|
||||
if (consecutiveVoiceDuration >= maximumWordLength){
|
||||
|
|
|
@ -163,7 +163,6 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
|
|||
{
|
||||
int res = 0;
|
||||
int fds[2];
|
||||
int pid = -1;
|
||||
int needed = 0;
|
||||
struct ast_format owriteformat;
|
||||
struct ast_frame *f;
|
||||
|
@ -196,7 +195,6 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
|
|||
|
||||
res = send_waveform_to_fd(waveform, length, fds[1]);
|
||||
if (res >= 0) {
|
||||
pid = res;
|
||||
/* Order is important -- there's almost always going to be mp3... we want to prioritize the
|
||||
user */
|
||||
for (;;) {
|
||||
|
@ -258,10 +256,6 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
|
|||
close(fds[0]);
|
||||
close(fds[1]);
|
||||
|
||||
#if 0
|
||||
if (pid > -1)
|
||||
kill(pid, SIGKILL);
|
||||
#endif
|
||||
if (!res && owriteformat.id)
|
||||
ast_set_write_format(chan, &owriteformat);
|
||||
return res;
|
||||
|
@ -285,7 +279,6 @@ static int festival_exec(struct ast_channel *chan, const char *vdata)
|
|||
char ack[4];
|
||||
char *waveform;
|
||||
int filesize;
|
||||
int wave;
|
||||
char bigstring[MAXFESTLEN];
|
||||
int i;
|
||||
struct MD5Context md5ctx;
|
||||
|
@ -494,7 +487,6 @@ static int festival_exec(struct ast_channel *chan, const char *vdata)
|
|||
|
||||
/* Read back info from server */
|
||||
/* This assumes only one waveform will come back, also LP is unlikely */
|
||||
wave = 0;
|
||||
do {
|
||||
int read_data;
|
||||
for (n = 0; n < 3; ) {
|
||||
|
|
|
@ -804,7 +804,6 @@ static void findmeexec(struct fm_args *tpargs)
|
|||
char *rest, *number;
|
||||
struct findme_user *tmpuser;
|
||||
struct findme_user *fmuser;
|
||||
struct findme_user *headuser;
|
||||
struct findme_user_listptr *findme_user_list;
|
||||
int status;
|
||||
|
||||
|
@ -915,7 +914,6 @@ static void findmeexec(struct fm_args *tpargs)
|
|||
|
||||
fmuser = NULL;
|
||||
tmpuser = NULL;
|
||||
headuser = NULL;
|
||||
if (winner)
|
||||
break;
|
||||
|
||||
|
|
|
@ -112,7 +112,6 @@ static int ices_exec(struct ast_channel *chan, const char *data)
|
|||
int pid = -1;
|
||||
int flags;
|
||||
struct ast_format oreadformat;
|
||||
struct timeval last;
|
||||
struct ast_frame *f;
|
||||
char filename[256]="";
|
||||
char *c;
|
||||
|
@ -123,8 +122,6 @@ static int ices_exec(struct ast_channel *chan, const char *data)
|
|||
return -1;
|
||||
}
|
||||
|
||||
last = ast_tv(0, 0);
|
||||
|
||||
if (pipe(fds)) {
|
||||
ast_log(LOG_WARNING, "Unable to create pipe\n");
|
||||
return -1;
|
||||
|
|
|
@ -1266,13 +1266,22 @@ static int sendmail(struct minivm_template *template, struct minivm_account *vmu
|
|||
char tmpcmd[PATH_MAX];
|
||||
int tmpfd;
|
||||
|
||||
/**
|
||||
* XXX
|
||||
* /bug tmpfd is a leaked fd. The file is also never unlinked.
|
||||
* See app_voicemail.c for how the code works there that
|
||||
* doesn't have this bug.
|
||||
*/
|
||||
|
||||
ast_copy_string(newtmp, "/tmp/XXXXXX", sizeof(newtmp));
|
||||
ast_debug(3, "newtmp: %s\n", newtmp);
|
||||
tmpfd = mkstemp(newtmp);
|
||||
snprintf(tmpcmd, sizeof(tmpcmd), "sox -v %.4f %s.%s %s.%s", vmu->volgain, filename, format, newtmp, format);
|
||||
ast_safe_system(tmpcmd);
|
||||
finalfilename = newtmp;
|
||||
ast_debug(3, "VOLGAIN: Stored at: %s.%s - Level: %.4f - Mailbox: %s\n", filename, format, vmu->volgain, vmu->username);
|
||||
if (tmpfd > -1) {
|
||||
snprintf(tmpcmd, sizeof(tmpcmd), "sox -v %.4f %s.%s %s.%s", vmu->volgain, filename, format, newtmp, format);
|
||||
ast_safe_system(tmpcmd);
|
||||
finalfilename = newtmp;
|
||||
ast_debug(3, "VOLGAIN: Stored at: %s.%s - Level: %.4f - Mailbox: %s\n", filename, format, vmu->volgain, vmu->username);
|
||||
}
|
||||
} else {
|
||||
finalfilename = ast_strdupa(filename);
|
||||
}
|
||||
|
@ -1828,7 +1837,6 @@ static int leave_voicemail(struct ast_channel *chan, char *username, struct leav
|
|||
char callerid[256];
|
||||
FILE *txt;
|
||||
int res = 0, txtdes;
|
||||
int msgnum;
|
||||
int duration = 0;
|
||||
char date[256];
|
||||
char tmpdir[PATH_MAX];
|
||||
|
@ -1871,7 +1879,6 @@ static int leave_voicemail(struct ast_channel *chan, char *username, struct leav
|
|||
pbx_builtin_setvar_helper(chan, "MVM_RECORD_STATUS", "FAILED");
|
||||
return res;
|
||||
}
|
||||
msgnum = 0;
|
||||
|
||||
userdir = check_dirpath(tmpdir, sizeof(tmpdir), vmu->domain, username, "tmp");
|
||||
|
||||
|
@ -2452,7 +2459,6 @@ static int minivm_accmess_exec(struct ast_channel *chan, const char *data)
|
|||
char *message = NULL;
|
||||
char *prompt = NULL;
|
||||
int duration;
|
||||
int cmd;
|
||||
|
||||
if (ast_strlen_zero(data)) {
|
||||
ast_log(LOG_ERROR, "MinivmAccmess needs at least two arguments: account and option\n");
|
||||
|
@ -2526,7 +2532,7 @@ static int minivm_accmess_exec(struct ast_channel *chan, const char *data)
|
|||
}
|
||||
snprintf(filename,sizeof(filename), "%s%s/%s/%s", MVM_SPOOL_DIR, vmu->domain, vmu->username, message);
|
||||
/* Maybe we should check the result of play_record_review ? */
|
||||
cmd = play_record_review(chan, prompt, filename, global_maxgreet, default_vmformat, 0, vmu, &duration, NULL, FALSE);
|
||||
play_record_review(chan, prompt, filename, global_maxgreet, default_vmformat, 0, vmu, &duration, NULL, FALSE);
|
||||
|
||||
ast_debug(1, "Recorded new %s message in %s (duration %d)\n", message, filename, duration);
|
||||
|
||||
|
@ -3238,12 +3244,10 @@ static int minivm_account_func_read(struct ast_channel *chan, const char *cmd, c
|
|||
check_dirpath(buf, len, vmu->domain, vmu->username, NULL);
|
||||
} else { /* Look in channel variables */
|
||||
struct ast_variable *var;
|
||||
int found = 0;
|
||||
|
||||
for (var = vmu->chanvars ; var ; var = var->next)
|
||||
if (!strcmp(var->name, colname)) {
|
||||
ast_copy_string(buf, var->value, len);
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,7 +101,6 @@ static int originate_exec(struct ast_channel *chan, const char *data)
|
|||
char *parse;
|
||||
char *chantech, *chandata;
|
||||
int res = -1;
|
||||
int outgoing_res = 0;
|
||||
int outgoing_status = 0;
|
||||
static const unsigned int timeout = 30;
|
||||
static const char default_exten[] = "s";
|
||||
|
@ -154,14 +153,14 @@ static int originate_exec(struct ast_channel *chan, const char *data)
|
|||
ast_debug(1, "Originating call to '%s/%s' and connecting them to extension %s,%s,%d\n",
|
||||
chantech, chandata, args.arg1, exten, priority);
|
||||
|
||||
outgoing_res = ast_pbx_outgoing_exten(chantech, cap_slin, chandata,
|
||||
ast_pbx_outgoing_exten(chantech, cap_slin, chandata,
|
||||
timeout * 1000, args.arg1, exten, priority, &outgoing_status, 0, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
} else if (!strcasecmp(args.type, "app")) {
|
||||
ast_debug(1, "Originating call to '%s/%s' and connecting them to %s(%s)\n",
|
||||
chantech, chandata, args.arg1, S_OR(args.arg2, ""));
|
||||
|
||||
outgoing_res = ast_pbx_outgoing_app(chantech, cap_slin, chandata,
|
||||
ast_pbx_outgoing_app(chantech, cap_slin, chandata,
|
||||
timeout * 1000, args.arg1, args.arg2, &outgoing_status, 0, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
} else {
|
||||
|
|
|
@ -4323,7 +4323,6 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
|
|||
char *agiexec = NULL;
|
||||
char *macroexec = NULL;
|
||||
char *gosubexec = NULL;
|
||||
int ret = 0;
|
||||
const char *monitorfilename;
|
||||
const char *monitor_exec;
|
||||
const char *monitor_options;
|
||||
|
@ -4838,7 +4837,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
|
|||
/* We purposely lock the CDR so that pbx_exec does not update the application data */
|
||||
if (qe->chan->cdr)
|
||||
ast_set_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
|
||||
ret = pbx_exec(qe->chan, mixmonapp, mixmonargs);
|
||||
pbx_exec(qe->chan, mixmonapp, mixmonargs);
|
||||
if (qe->chan->cdr)
|
||||
ast_clear_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
|
||||
|
||||
|
@ -4970,7 +4969,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
|
|||
application = pbx_findapp("agi");
|
||||
if (application) {
|
||||
agiexec = ast_strdupa(agi);
|
||||
ret = pbx_exec(qe->chan, application, agiexec);
|
||||
pbx_exec(qe->chan, application, agiexec);
|
||||
} else
|
||||
ast_log(LOG_WARNING, "Asked to execute an AGI on this channel, but could not find application (agi)!\n");
|
||||
}
|
||||
|
|
|
@ -7061,7 +7061,6 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
|
|||
char *dir;
|
||||
int curmsg;
|
||||
char urgent_str[7] = "";
|
||||
char tmptxtfile[PATH_MAX];
|
||||
int prompt_played = 0;
|
||||
#ifndef IMAP_STORAGE
|
||||
char msgfile[PATH_MAX], textfile[PATH_MAX], backup[PATH_MAX], backup_textfile[PATH_MAX];
|
||||
|
@ -7074,7 +7073,6 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
|
|||
dir = vms->curdir;
|
||||
curmsg = vms->curmsg;
|
||||
|
||||
tmptxtfile[0] = '\0';
|
||||
while (!res && !valid_extensions) {
|
||||
int use_directory = 0;
|
||||
if (ast_test_flag((&globalflags), VM_DIRECFORWARD)) {
|
||||
|
|
|
@ -887,7 +887,6 @@ int agent_set_base_channel(struct ast_channel *chan, struct ast_channel *base)
|
|||
static int agent_hangup(struct ast_channel *ast)
|
||||
{
|
||||
struct agent_pvt *p = ast->tech_pvt;
|
||||
int howlong = 0;
|
||||
|
||||
ast_mutex_lock(&p->lock);
|
||||
p->owner = NULL;
|
||||
|
@ -908,11 +907,8 @@ static int agent_hangup(struct ast_channel *ast)
|
|||
|
||||
ast_debug(1, "Hangup called for state %s\n", ast_state2str(ast->_state));
|
||||
if (p->start && (ast->_state != AST_STATE_UP)) {
|
||||
howlong = time(NULL) - p->start;
|
||||
p->start = 0;
|
||||
} else if (ast->_state == AST_STATE_RESERVED)
|
||||
howlong = 0;
|
||||
else
|
||||
} else
|
||||
p->start = 0;
|
||||
if (p->chan) {
|
||||
p->chan->_bridge = NULL;
|
||||
|
@ -1856,7 +1852,6 @@ static int login_exec(struct ast_channel *chan, const char *data)
|
|||
int max_login_tries = maxlogintries;
|
||||
struct agent_pvt *p;
|
||||
struct ast_module_user *u;
|
||||
int login_state = 0;
|
||||
char user[AST_MAX_AGENT] = "";
|
||||
char pass[AST_MAX_AGENT];
|
||||
char agent[AST_MAX_AGENT] = "";
|
||||
|
@ -1950,7 +1945,6 @@ static int login_exec(struct ast_channel *chan, const char *data)
|
|||
ast_mutex_lock(&p->lock);
|
||||
if (!strcmp(p->agent, user) &&
|
||||
!strcmp(p->password, pass) && !p->pending) {
|
||||
login_state = 1; /* Successful Login */
|
||||
|
||||
/* Ensure we can't be gotten until we're done */
|
||||
p->lastdisc = ast_tvnow();
|
||||
|
|
|
@ -295,12 +295,10 @@ static int phone_call(struct ast_channel *ast, char *dest, int timeout)
|
|||
ast_localtime(&UtcTime, &tm, NULL);
|
||||
|
||||
memset(&cid, 0, sizeof(PHONE_CID));
|
||||
if(&tm != NULL) {
|
||||
snprintf(cid.month, sizeof(cid.month), "%02d",(tm.tm_mon + 1));
|
||||
snprintf(cid.day, sizeof(cid.day), "%02d", tm.tm_mday);
|
||||
snprintf(cid.hour, sizeof(cid.hour), "%02d", tm.tm_hour);
|
||||
snprintf(cid.min, sizeof(cid.min), "%02d", tm.tm_min);
|
||||
}
|
||||
snprintf(cid.month, sizeof(cid.month), "%02d",(tm.tm_mon + 1));
|
||||
snprintf(cid.day, sizeof(cid.day), "%02d", tm.tm_mday);
|
||||
snprintf(cid.hour, sizeof(cid.hour), "%02d", tm.tm_hour);
|
||||
snprintf(cid.min, sizeof(cid.min), "%02d", tm.tm_min);
|
||||
/* the standard format of ast->callerid is: "name" <number>, but not always complete */
|
||||
if (!ast->connected.id.name.valid
|
||||
|| ast_strlen_zero(ast->connected.id.name.str)) {
|
||||
|
|
|
@ -3610,8 +3610,6 @@ static int manager_skinny_show_lines(struct mansession *s, const struct message
|
|||
|
||||
static char *handle_skinny_show_lines(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
||||
{
|
||||
int verbose = 0;
|
||||
|
||||
switch (cmd) {
|
||||
case CLI_INIT:
|
||||
e->command = "skinny show lines [verbose]";
|
||||
|
@ -3626,9 +3624,7 @@ static char *handle_skinny_show_lines(struct ast_cli_entry *e, int cmd, struct a
|
|||
}
|
||||
|
||||
if (a->argc == e->args) {
|
||||
if (!strcasecmp(a->argv[e->args-1], "verbose")) {
|
||||
verbose = 1;
|
||||
} else {
|
||||
if (strcasecmp(a->argv[e->args-1], "verbose")) {
|
||||
return CLI_SHOWUSAGE;
|
||||
}
|
||||
} else if (a->argc != e->args - 1) {
|
||||
|
@ -4039,7 +4035,6 @@ static void *skinny_ss(void *data)
|
|||
static int skinny_call(struct ast_channel *ast, char *dest, int timeout)
|
||||
{
|
||||
int res = 0;
|
||||
int tone = 0;
|
||||
struct skinny_subchannel *sub = ast->tech_pvt;
|
||||
struct skinny_line *l = sub->parent;
|
||||
struct skinny_device *d = l->device;
|
||||
|
@ -4069,10 +4064,8 @@ static int skinny_call(struct ast_channel *ast, char *dest, int timeout)
|
|||
|
||||
switch (l->hookstate) {
|
||||
case SKINNY_OFFHOOK:
|
||||
tone = SKINNY_CALLWAITTONE;
|
||||
break;
|
||||
case SKINNY_ONHOOK:
|
||||
tone = SKINNY_ALERT;
|
||||
l->activesub = sub;
|
||||
break;
|
||||
default:
|
||||
|
@ -4101,7 +4094,6 @@ static int skinny_hangup(struct ast_channel *ast)
|
|||
struct skinny_subchannel *sub = ast->tech_pvt;
|
||||
struct skinny_line *l;
|
||||
struct skinny_device *d;
|
||||
struct skinnysession *s;
|
||||
|
||||
if (!sub) {
|
||||
ast_debug(1, "Asked to hangup channel not connected\n");
|
||||
|
@ -4110,7 +4102,6 @@ static int skinny_hangup(struct ast_channel *ast)
|
|||
|
||||
l = sub->parent;
|
||||
d = l->device;
|
||||
s = d->session;
|
||||
|
||||
if (skinnydebug)
|
||||
ast_verb(3,"Hanging up %s/%d\n",d->name,sub->callid);
|
||||
|
@ -5333,7 +5324,6 @@ static int handle_offhook_message(struct skinny_req *req, struct skinnysession *
|
|||
struct ast_channel *c;
|
||||
struct skinny_line *tmp;
|
||||
int instance;
|
||||
int reference;
|
||||
|
||||
/* if any line on a device is offhook, than the device must be offhook,
|
||||
unless we have shared lines CCM seems that it would never get here,
|
||||
|
@ -5349,7 +5339,6 @@ static int handle_offhook_message(struct skinny_req *req, struct skinnysession *
|
|||
}
|
||||
|
||||
instance = letohl(req->data.offhook.instance);
|
||||
reference = letohl(req->data.offhook.reference);
|
||||
|
||||
if (instance) {
|
||||
sub = find_subchannel_by_instance_reference(d, d->lastlineinstance, d->lastcallreference);
|
||||
|
@ -7177,8 +7166,6 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca
|
|||
int on = 1;
|
||||
struct ast_config *cfg;
|
||||
char *cat;
|
||||
struct skinny_device *d;
|
||||
struct skinny_line *l;
|
||||
int oldport = ntohs(bindaddr.sin_port);
|
||||
struct ast_flags config_flags = { 0 };
|
||||
|
||||
|
@ -7227,7 +7214,7 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca
|
|||
config_parse_variables(TYPE_DEF_LINE, default_line, ast_variable_browse(cfg, "lines"));
|
||||
cat = ast_category_browse(cfg, "lines");
|
||||
while (cat && strcasecmp(cat, "general") && strcasecmp(cat, "devices")) {
|
||||
l = config_line(cat, ast_variable_browse(cfg, cat));
|
||||
config_line(cat, ast_variable_browse(cfg, cat));
|
||||
cat = ast_category_browse(cfg, cat);
|
||||
}
|
||||
|
||||
|
@ -7237,7 +7224,7 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca
|
|||
config_parse_variables(TYPE_DEF_DEVICE, default_device, ast_variable_browse(cfg, "devices"));
|
||||
cat = ast_category_browse(cfg, "devices");
|
||||
while (cat && strcasecmp(cat, "general") && strcasecmp(cat, "lines")) {
|
||||
d = config_device(cat, ast_variable_browse(cfg, cat));
|
||||
config_device(cat, ast_variable_browse(cfg, cat));
|
||||
cat = ast_category_browse(cfg, cat);
|
||||
}
|
||||
|
||||
|
|
|
@ -1924,7 +1924,7 @@ static int attempt_transfer(struct unistim_subchannel *p1, struct unistim_subcha
|
|||
int res = 0;
|
||||
struct ast_channel
|
||||
*chana = NULL, *chanb = NULL, *bridgea = NULL, *bridgeb = NULL, *peera =
|
||||
NULL, *peerb = NULL, *peerc = NULL, *peerd = NULL;
|
||||
NULL, *peerb = NULL, *peerc = NULL;
|
||||
|
||||
if (!p1->owner || !p2->owner) {
|
||||
ast_log(LOG_WARNING, "Transfer attempted without dual ownership?\n");
|
||||
|
@ -1939,12 +1939,10 @@ static int attempt_transfer(struct unistim_subchannel *p1, struct unistim_subcha
|
|||
peera = chana;
|
||||
peerb = chanb;
|
||||
peerc = bridgea;
|
||||
peerd = bridgeb;
|
||||
} else if (bridgeb) {
|
||||
peera = chanb;
|
||||
peerb = chana;
|
||||
peerc = bridgeb;
|
||||
peerd = bridgea;
|
||||
}
|
||||
|
||||
if (peera && peerb && peerc && (peerb != peerc)) {
|
||||
|
|
|
@ -143,7 +143,7 @@ extern struct {
|
|||
/* Local variables */
|
||||
integer pbar;
|
||||
real sbar;
|
||||
integer path[2], iptr, i__, j;
|
||||
integer iptr, i__, j;
|
||||
real alpha, minsc, maxsc;
|
||||
|
||||
/* Arguments */
|
||||
|
@ -389,7 +389,6 @@ n*/
|
|||
for (i__ = 1; i__ <= 2; ++i__) {
|
||||
j = j % 2 + 1;
|
||||
*pitch = p[*pitch + j * 60 - 61];
|
||||
path[i__ - 1] = *pitch;
|
||||
}
|
||||
|
||||
/* The following statement subtracts one from IPOINT, mod DEPTH. I
|
||||
|
|
|
@ -355,7 +355,6 @@ static struct ast_frame *wav_read(struct ast_filestream *s, int *whennext)
|
|||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
int x;
|
||||
#endif
|
||||
short *tmp;
|
||||
int bytes;
|
||||
off_t here;
|
||||
/* Send a frame from the file to the appropriate channel */
|
||||
|
@ -382,8 +381,8 @@ static struct ast_frame *wav_read(struct ast_filestream *s, int *whennext)
|
|||
s->fr.datalen = res;
|
||||
s->fr.samples = samples = res / 2;
|
||||
|
||||
tmp = (short *)(s->fr.data.ptr);
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
tmp = (short *)(s->fr.data.ptr);
|
||||
/* file format is little endian so we need to swap */
|
||||
for( x = 0; x < samples; x++)
|
||||
tmp[x] = (tmp[x] << 8) | ((tmp[x] & 0xff00) >> 8);
|
||||
|
|
|
@ -161,7 +161,6 @@ static int function_enum(struct ast_channel *chan, const char *cmd, char *data,
|
|||
AST_APP_ARG(record);
|
||||
AST_APP_ARG(zone);
|
||||
);
|
||||
int res = 0;
|
||||
char tech[80];
|
||||
char dest[256] = "", tmp[2] = "", num[AST_MAX_EXTENSION] = "";
|
||||
char *s, *p;
|
||||
|
@ -205,7 +204,7 @@ static int function_enum(struct ast_channel *chan, const char *cmd, char *data,
|
|||
}
|
||||
|
||||
}
|
||||
res = ast_get_enum(chan, num, dest, sizeof(dest), tech, sizeof(tech), args.zone, args.options, record, NULL);
|
||||
ast_get_enum(chan, num, dest, sizeof(dest), tech, sizeof(tech), args.zone, args.options, record, NULL);
|
||||
|
||||
p = strchr(dest, ':');
|
||||
if (p && strcasecmp(tech, "ALL") && !strchr(args.options, 'u')) {
|
||||
|
@ -414,7 +413,6 @@ static struct ast_custom_function enum_function = {
|
|||
static int function_txtcidname(struct ast_channel *chan, const char *cmd,
|
||||
char *data, char *buf, size_t len)
|
||||
{
|
||||
int res;
|
||||
AST_DECLARE_APP_ARGS(args,
|
||||
AST_APP_ARG(number);
|
||||
AST_APP_ARG(zone);
|
||||
|
@ -438,7 +436,7 @@ static int function_txtcidname(struct ast_channel *chan, const char *cmd,
|
|||
args.zone = "e164.arpa";
|
||||
}
|
||||
|
||||
res = ast_get_txt(chan, args.number, buf, len, args.zone);
|
||||
ast_get_txt(chan, args.number, buf, len, args.zone);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -535,7 +535,8 @@ struct { \
|
|||
(var); \
|
||||
__list_prev = __new_prev, (var) = __list_next, \
|
||||
__new_prev = (var), \
|
||||
__list_next = (var) ? (var)->field.next : NULL \
|
||||
__list_next = (var) ? (var)->field.next : NULL, \
|
||||
(void) __list_prev \
|
||||
)
|
||||
|
||||
#define AST_RWLIST_TRAVERSE_SAFE_BEGIN AST_LIST_TRAVERSE_SAFE_BEGIN
|
||||
|
|
|
@ -365,11 +365,10 @@ const char *ast_file_version_find(const char *file)
|
|||
struct file_version *iterator;
|
||||
|
||||
AST_RWLIST_WRLOCK(&file_versions);
|
||||
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&file_versions, iterator, list) {
|
||||
AST_RWLIST_TRAVERSE(&file_versions, iterator, list) {
|
||||
if (!strcasecmp(iterator->file, file))
|
||||
break;
|
||||
}
|
||||
AST_RWLIST_TRAVERSE_SAFE_END;
|
||||
}
|
||||
AST_RWLIST_UNLOCK(&file_versions);
|
||||
if (iterator)
|
||||
return iterator->version;
|
||||
|
@ -580,9 +579,9 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
|
|||
{
|
||||
uint64_t physmem, freeram;
|
||||
uint64_t freeswap = 0;
|
||||
int totalswap = 0;
|
||||
int nprocs = 0;
|
||||
long uptime = 0;
|
||||
int totalswap = 0;
|
||||
#if defined(HAVE_SYSINFO)
|
||||
struct sysinfo sys_info;
|
||||
sysinfo(&sys_info);
|
||||
|
@ -665,7 +664,7 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
|
|||
#if defined(HAVE_SYSINFO)
|
||||
ast_cli(a->fd, " Buffer RAM: %" PRIu64 " KiB\n", ((uint64_t) sys_info.bufferram * sys_info.mem_unit) / 1024);
|
||||
#endif
|
||||
#if defined (HAVE_SYSCTL) && defined(HAVE_SWAPCTL)
|
||||
#if defined (HAVE_SYSCTL) || defined(HAVE_SWAPCTL)
|
||||
ast_cli(a->fd, " Total Swap Space: %u KiB\n", totalswap);
|
||||
ast_cli(a->fd, " Free Swap Space: %" PRIu64 " KiB\n\n", freeswap);
|
||||
#endif
|
||||
|
|
|
@ -944,28 +944,25 @@ int ast_channel_audiohook_count_by_source(struct ast_channel *chan, const char *
|
|||
|
||||
switch (type) {
|
||||
case AST_AUDIOHOOK_TYPE_SPY:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->spy_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->spy_list, ah, list) {
|
||||
if (!strcmp(ah->source, source)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
case AST_AUDIOHOOK_TYPE_WHISPER:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->whisper_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->whisper_list, ah, list) {
|
||||
if (!strcmp(ah->source, source)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
case AST_AUDIOHOOK_TYPE_MANIPULATE:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->manipulate_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->manipulate_list, ah, list) {
|
||||
if (!strcmp(ah->source, source)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
default:
|
||||
ast_debug(1, "Invalid audiohook type supplied, (%d)\n", type);
|
||||
|
@ -985,25 +982,22 @@ int ast_channel_audiohook_count_by_source_running(struct ast_channel *chan, cons
|
|||
|
||||
switch (type) {
|
||||
case AST_AUDIOHOOK_TYPE_SPY:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->spy_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->spy_list, ah, list) {
|
||||
if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING))
|
||||
count++;
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
case AST_AUDIOHOOK_TYPE_WHISPER:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->whisper_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->whisper_list, ah, list) {
|
||||
if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING))
|
||||
count++;
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
case AST_AUDIOHOOK_TYPE_MANIPULATE:
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->audiohooks->manipulate_list, ah, list) {
|
||||
AST_LIST_TRAVERSE(&chan->audiohooks->manipulate_list, ah, list) {
|
||||
if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING))
|
||||
count++;
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
break;
|
||||
default:
|
||||
ast_debug(1, "Invalid audiohook type supplied, (%d)\n", type);
|
||||
|
|
11
main/cdr.c
11
main/cdr.c
|
@ -716,11 +716,8 @@ void ast_cdr_merge(struct ast_cdr *to, struct ast_cdr *from)
|
|||
|
||||
void ast_cdr_start(struct ast_cdr *cdr)
|
||||
{
|
||||
char *chan;
|
||||
|
||||
for (; cdr; cdr = cdr->next) {
|
||||
if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
|
||||
chan = S_OR(cdr->channel, "<unknown>");
|
||||
check_post(cdr);
|
||||
cdr->start = ast_tvnow();
|
||||
}
|
||||
|
@ -768,11 +765,8 @@ void ast_cdr_failed(struct ast_cdr *cdr)
|
|||
|
||||
void ast_cdr_noanswer(struct ast_cdr *cdr)
|
||||
{
|
||||
char *chan;
|
||||
|
||||
while (cdr) {
|
||||
if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
|
||||
chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
|
||||
check_post(cdr);
|
||||
cdr->disposition = AST_CDR_NOANSWER;
|
||||
}
|
||||
|
@ -892,11 +886,8 @@ static int cdr_seq_inc(struct ast_cdr *cdr)
|
|||
|
||||
int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c)
|
||||
{
|
||||
char *chan;
|
||||
|
||||
for ( ; cdr ; cdr = cdr->next) {
|
||||
if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
|
||||
chan = S_OR(cdr->channel, "<unknown>");
|
||||
ast_copy_string(cdr->channel, c->name, sizeof(cdr->channel));
|
||||
set_one_cid(cdr, c);
|
||||
cdr_seq_inc(cdr);
|
||||
|
@ -1116,7 +1107,6 @@ int ast_cdr_amaflags2int(const char *flag)
|
|||
|
||||
static void post_cdr(struct ast_cdr *cdr)
|
||||
{
|
||||
char *chan;
|
||||
struct ast_cdr_beitem *i;
|
||||
|
||||
for ( ; cdr ; cdr = cdr->next) {
|
||||
|
@ -1134,7 +1124,6 @@ static void post_cdr(struct ast_cdr *cdr)
|
|||
continue;
|
||||
}
|
||||
|
||||
chan = S_OR(cdr->channel, "<unknown>");
|
||||
check_post(cdr);
|
||||
ast_set_flag(cdr, AST_CDR_FLAG_POSTED);
|
||||
if (ast_test_flag(cdr, AST_CDR_FLAG_POST_DISABLED))
|
||||
|
|
|
@ -2531,7 +2531,7 @@ struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const
|
|||
if (info == NULL)
|
||||
return NULL;
|
||||
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&chan->datastores, datastore, entry) {
|
||||
AST_LIST_TRAVERSE(&chan->datastores, datastore, entry) {
|
||||
if (datastore->info != info) {
|
||||
continue;
|
||||
}
|
||||
|
@ -2546,7 +2546,6 @@ struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const
|
|||
break;
|
||||
}
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
|
||||
return datastore;
|
||||
}
|
||||
|
|
|
@ -1021,7 +1021,6 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
|
|||
} else if (cur[0] == '#') { /* A directive - #include or #exec */
|
||||
char *cur2;
|
||||
char real_inclusion_name[256];
|
||||
struct ast_config_include *inclu;
|
||||
int do_include = 0; /* otherwise, it is exec */
|
||||
|
||||
cur++;
|
||||
|
@ -1094,7 +1093,7 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
|
|||
}
|
||||
/* A #include */
|
||||
/* record this inclusion */
|
||||
inclu = ast_include_new(cfg, cfg->include_level == 1 ? "" : configfile, cur, !do_include, cur2, lineno, real_inclusion_name, sizeof(real_inclusion_name));
|
||||
ast_include_new(cfg, cfg->include_level == 1 ? "" : configfile, cur, !do_include, cur2, lineno, real_inclusion_name, sizeof(real_inclusion_name));
|
||||
|
||||
do_include = ast_config_internal_load(cur, cfg, flags, real_inclusion_name, who_asked) ? 1 : 0;
|
||||
if (!ast_strlen_zero(exec_file))
|
||||
|
|
|
@ -787,7 +787,6 @@ static int mf_detect(struct ast_dsp *dsp, digit_detect_state_t *s, int16_t amp[]
|
|||
float energy[6];
|
||||
int best;
|
||||
int second_best;
|
||||
float famp;
|
||||
int i;
|
||||
int j;
|
||||
int sample;
|
||||
|
@ -812,7 +811,6 @@ static int mf_detect(struct ast_dsp *dsp, digit_detect_state_t *s, int16_t amp[]
|
|||
/* The following unrolled loop takes only 35% (rough estimate) of the
|
||||
time of a rolled loop on the machine on which it was developed */
|
||||
for (j = sample; j < limit; j++) {
|
||||
famp = amp[j];
|
||||
/* With GCC 2.95, the following unrolled code seems to take about 35%
|
||||
(rough estimate) as long as a neat little 0-3 loop */
|
||||
goertzel_sample(s->td.mf.tone_out, amp[j]);
|
||||
|
|
|
@ -918,7 +918,7 @@ struct ast_park_call_args {
|
|||
static struct parkeduser *park_space_reserve(struct ast_channel *chan, struct ast_channel *peer, struct ast_park_call_args *args)
|
||||
{
|
||||
struct parkeduser *pu;
|
||||
int i, parking_space = -1, parking_range;
|
||||
int i, parking_space = -1;
|
||||
const char *parkinglotname = NULL;
|
||||
const char *parkingexten;
|
||||
struct ast_parkinglot *parkinglot = NULL;
|
||||
|
@ -1031,9 +1031,6 @@ static struct parkeduser *park_space_reserve(struct ast_channel *chan, struct as
|
|||
int start;
|
||||
struct parkeduser *cur = NULL;
|
||||
|
||||
/* Select parking space within range */
|
||||
parking_range = parkinglot->parking_stop - parkinglot->parking_start + 1;
|
||||
|
||||
if (ast_test_flag(args, AST_PARK_OPT_RANDOMIZE)) {
|
||||
start = ast_random() % (parkinglot->parking_stop - parkinglot->parking_start + 1);
|
||||
} else {
|
||||
|
@ -1082,7 +1079,6 @@ static struct parkeduser *park_space_reserve(struct ast_channel *chan, struct as
|
|||
static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, struct ast_park_call_args *args)
|
||||
{
|
||||
struct ast_context *con;
|
||||
int parkingnum_copy;
|
||||
struct parkeduser *pu = args->pu;
|
||||
const char *event_from;
|
||||
|
||||
|
@ -1111,7 +1107,6 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, st
|
|||
|
||||
pu->start = ast_tvnow();
|
||||
pu->parkingtime = (args->timeout > 0) ? args->timeout : pu->parkinglot->parkingtime;
|
||||
parkingnum_copy = pu->parkingnum;
|
||||
if (args->extout)
|
||||
*(args->extout) = pu->parkingnum;
|
||||
|
||||
|
@ -3460,7 +3455,6 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
|||
int we_disabled_peer_cdr = 0;
|
||||
struct ast_option_header *aoh;
|
||||
struct ast_cdr *bridge_cdr = NULL;
|
||||
struct ast_cdr *orig_peer_cdr = NULL;
|
||||
struct ast_cdr *chan_cdr = chan->cdr; /* the proper chan cdr, if there are forked cdrs */
|
||||
struct ast_cdr *peer_cdr = peer->cdr; /* the proper chan cdr, if there are forked cdrs */
|
||||
struct ast_cdr *new_chan_cdr = NULL; /* the proper chan cdr, if there are forked cdrs */
|
||||
|
@ -3532,8 +3526,7 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
|||
}
|
||||
ast_copy_string(orig_channame,chan->name,sizeof(orig_channame));
|
||||
ast_copy_string(orig_peername,peer->name,sizeof(orig_peername));
|
||||
orig_peer_cdr = peer_cdr;
|
||||
|
||||
|
||||
if (!chan_cdr || (chan_cdr && !ast_test_flag(chan_cdr, AST_CDR_FLAG_POST_DISABLED))) {
|
||||
|
||||
if (chan_cdr) {
|
||||
|
|
|
@ -147,7 +147,6 @@ int ast_stopstream(struct ast_channel *tmp)
|
|||
int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
|
||||
{
|
||||
int res = -1;
|
||||
int alt = 0;
|
||||
if (f->frametype == AST_FRAME_VIDEO) {
|
||||
if (AST_FORMAT_GET_TYPE(fs->fmt->format.id) == AST_FORMAT_TYPE_AUDIO) {
|
||||
/* This is the audio portion. Call the video one... */
|
||||
|
@ -160,9 +159,6 @@ int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
|
|||
return ast_writestream(fs->vfs, f);
|
||||
/* else ignore */
|
||||
return 0;
|
||||
} else {
|
||||
/* Might / might not have mark set */
|
||||
alt = 1;
|
||||
}
|
||||
} else if (f->frametype != AST_FRAME_VOICE) {
|
||||
ast_log(LOG_WARNING, "Tried to write non-voice frame\n");
|
||||
|
|
|
@ -225,9 +225,7 @@ int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte)
|
|||
int i,j,n1,r;
|
||||
int samples = 0;
|
||||
int olen;
|
||||
int beginlen=*len;
|
||||
int beginlenx;
|
||||
|
||||
|
||||
switch (fskd->state) {
|
||||
/* Pick up where we left off */
|
||||
case STATE_SEARCH_STARTBIT2:
|
||||
|
@ -255,7 +253,6 @@ int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte)
|
|||
beginning of a start bit in the TDD sceanario. It just looks for sufficient
|
||||
level to maybe, perhaps, guess, maybe that its maybe the beginning of
|
||||
a start bit, perhaps. This whole thing stinks! */
|
||||
beginlenx=beginlen; /* just to avoid unused war warnings */
|
||||
if (demodulator(fskd, &fskd->x1, GET_SAMPLE))
|
||||
return -1;
|
||||
samples++;
|
||||
|
|
|
@ -1717,7 +1717,7 @@ static const char *__astman_get_header(const struct message *m, char *var, int m
|
|||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
return result;
|
||||
}
|
||||
|
||||
/*! \brief
|
||||
|
|
|
@ -6692,7 +6692,6 @@ static int manager_show_dialplan(struct mansession *s, const struct message *m)
|
|||
const char *exten, *context;
|
||||
const char *id = astman_get_header(m, "ActionID");
|
||||
char idtext[256];
|
||||
int res;
|
||||
|
||||
/* Variables used for different counters */
|
||||
struct dialplan_counters counters;
|
||||
|
@ -6707,7 +6706,7 @@ static int manager_show_dialplan(struct mansession *s, const struct message *m)
|
|||
exten = astman_get_header(m, "Extension");
|
||||
context = astman_get_header(m, "Context");
|
||||
|
||||
res = manager_show_dialplan_helper(s, m, idtext, context, exten, &counters, NULL);
|
||||
manager_show_dialplan_helper(s, m, idtext, context, exten, &counters, NULL);
|
||||
|
||||
if (context && !counters.context_existence) {
|
||||
char errorbuf[BUFSIZ];
|
||||
|
@ -7540,7 +7539,7 @@ static const char * const months[] =
|
|||
|
||||
int ast_build_timing(struct ast_timing *i, const char *info_in)
|
||||
{
|
||||
char *info_save, *info;
|
||||
char *info;
|
||||
int j, num_fields, last_sep = -1;
|
||||
|
||||
/* Check for empty just in case */
|
||||
|
@ -7549,7 +7548,7 @@ int ast_build_timing(struct ast_timing *i, const char *info_in)
|
|||
}
|
||||
|
||||
/* make a copy just in case we were passed a static string */
|
||||
info_save = info = ast_strdupa(info_in);
|
||||
info = ast_strdupa(info_in);
|
||||
|
||||
/* count the number of fields in the timespec */
|
||||
for (j = 0, num_fields = 1; info[j] != '\0'; j++) {
|
||||
|
|
|
@ -177,10 +177,8 @@ int plc_fillin(plc_state_t *s, int16_t amp[], int len)
|
|||
float old_weight;
|
||||
float new_weight;
|
||||
float gain;
|
||||
int16_t *orig_amp;
|
||||
int orig_len;
|
||||
|
||||
orig_amp = amp;
|
||||
orig_len = len;
|
||||
if (s->missing_samples == 0) {
|
||||
/* As the gap in real speech starts we need to assess the last known pitch,
|
||||
|
|
|
@ -1283,8 +1283,8 @@ enum ast_bridge_result ast_rtp_instance_bridge(struct ast_channel *c0, struct as
|
|||
*tinstance0 = NULL, *tinstance1 = NULL;
|
||||
struct ast_rtp_glue *glue0, *glue1;
|
||||
struct ast_sockaddr addr1, addr2;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID, text_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID, text_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_bridge_result res = AST_BRIDGE_FAILED;
|
||||
struct ast_format_cap *cap0 = ast_format_cap_alloc_nolock();
|
||||
struct ast_format_cap *cap1 = ast_format_cap_alloc_nolock();
|
||||
|
@ -1317,11 +1317,9 @@ enum ast_bridge_result ast_rtp_instance_bridge(struct ast_channel *c0, struct as
|
|||
|
||||
audio_glue0_res = glue0->get_rtp_info(c0, &instance0);
|
||||
video_glue0_res = glue0->get_vrtp_info ? glue0->get_vrtp_info(c0, &vinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue0_res = glue0->get_trtp_info ? glue0->get_trtp_info(c0, &tinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
audio_glue1_res = glue1->get_rtp_info(c1, &instance1);
|
||||
video_glue1_res = glue1->get_vrtp_info ? glue1->get_vrtp_info(c1, &vinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue1_res = glue1->get_trtp_info ? glue1->get_trtp_info(c1, &tinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
/* If we are carrying video, and both sides are not going to remotely bridge... fail the native bridge */
|
||||
if (video_glue0_res != AST_RTP_GLUE_RESULT_FORBID && (audio_glue0_res != AST_RTP_GLUE_RESULT_REMOTE || video_glue0_res != AST_RTP_GLUE_RESULT_REMOTE)) {
|
||||
|
@ -1433,8 +1431,8 @@ void ast_rtp_instance_early_bridge_make_compatible(struct ast_channel *c0, struc
|
|||
*vinstance0 = NULL, *vinstance1 = NULL,
|
||||
*tinstance0 = NULL, *tinstance1 = NULL;
|
||||
struct ast_rtp_glue *glue0, *glue1;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID, text_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID, text_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
struct ast_format_cap *cap0 = ast_format_cap_alloc_nolock();
|
||||
struct ast_format_cap *cap1 = ast_format_cap_alloc_nolock();
|
||||
int res = 0;
|
||||
|
@ -1459,11 +1457,9 @@ void ast_rtp_instance_early_bridge_make_compatible(struct ast_channel *c0, struc
|
|||
|
||||
audio_glue0_res = glue0->get_rtp_info(c0, &instance0);
|
||||
video_glue0_res = glue0->get_vrtp_info ? glue0->get_vrtp_info(c0, &vinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue0_res = glue0->get_trtp_info ? glue0->get_trtp_info(c0, &tinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
audio_glue1_res = glue1->get_rtp_info(c1, &instance1);
|
||||
video_glue1_res = glue1->get_vrtp_info ? glue1->get_vrtp_info(c1, &vinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue1_res = glue1->get_trtp_info ? glue1->get_trtp_info(c1, &tinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
/* If we are carrying video, and both sides are not going to remotely bridge... fail the native bridge */
|
||||
if (video_glue0_res != AST_RTP_GLUE_RESULT_FORBID && (audio_glue0_res != AST_RTP_GLUE_RESULT_REMOTE || video_glue0_res != AST_RTP_GLUE_RESULT_REMOTE)) {
|
||||
|
@ -1525,8 +1521,8 @@ int ast_rtp_instance_early_bridge(struct ast_channel *c0, struct ast_channel *c1
|
|||
*vinstance0 = NULL, *vinstance1 = NULL,
|
||||
*tinstance0 = NULL, *tinstance1 = NULL;
|
||||
struct ast_rtp_glue *glue0, *glue1;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID, text_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID, text_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue0_res = AST_RTP_GLUE_RESULT_FORBID, video_glue0_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
enum ast_rtp_glue_result audio_glue1_res = AST_RTP_GLUE_RESULT_FORBID, video_glue1_res = AST_RTP_GLUE_RESULT_FORBID;
|
||||
struct ast_format_cap *cap0 = ast_format_cap_alloc_nolock();
|
||||
struct ast_format_cap *cap1 = ast_format_cap_alloc_nolock();
|
||||
int res = 0;
|
||||
|
@ -1558,11 +1554,9 @@ int ast_rtp_instance_early_bridge(struct ast_channel *c0, struct ast_channel *c1
|
|||
|
||||
audio_glue0_res = glue0->get_rtp_info(c0, &instance0);
|
||||
video_glue0_res = glue0->get_vrtp_info ? glue0->get_vrtp_info(c0, &vinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue0_res = glue0->get_trtp_info ? glue0->get_trtp_info(c0, &tinstance0) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
audio_glue1_res = glue1->get_rtp_info(c1, &instance1);
|
||||
video_glue1_res = glue1->get_vrtp_info ? glue1->get_vrtp_info(c1, &vinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
text_glue1_res = glue1->get_trtp_info ? glue1->get_trtp_info(c1, &tinstance1) : AST_RTP_GLUE_RESULT_FORBID;
|
||||
|
||||
/* If we are carrying video, and both sides are not going to remotely bridge... fail the native bridge */
|
||||
if (video_glue0_res != AST_RTP_GLUE_RESULT_FORBID && (audio_glue0_res != AST_RTP_GLUE_RESULT_REMOTE || video_glue0_res != AST_RTP_GLUE_RESULT_REMOTE)) {
|
||||
|
|
|
@ -664,7 +664,6 @@ struct ast_frame *ast_udptl_read(struct ast_udptl *udptl)
|
|||
int res;
|
||||
struct ast_sockaddr addr;
|
||||
uint16_t seqno = 0;
|
||||
uint16_t *udptlheader;
|
||||
|
||||
/* Cache where the header will go */
|
||||
res = ast_recvfrom(udptl->fd,
|
||||
|
@ -672,7 +671,6 @@ struct ast_frame *ast_udptl_read(struct ast_udptl *udptl)
|
|||
sizeof(udptl->rawdata) - AST_FRIENDLY_OFFSET,
|
||||
0,
|
||||
&addr);
|
||||
udptlheader = (uint16_t *)(udptl->rawdata + AST_FRIENDLY_OFFSET);
|
||||
if (res < 0) {
|
||||
if (errno != EAGAIN)
|
||||
ast_log(LOG_WARNING, "(%s): UDPTL read error: %s\n",
|
||||
|
|
|
@ -677,7 +677,7 @@ static char *handle_cli_dialplan_save(struct ast_cli_entry *e, int cmd, struct a
|
|||
int incomplete = 0; /* incomplete config write? */
|
||||
FILE *output;
|
||||
struct ast_flags config_flags = { 0 };
|
||||
const char *base, *slash, *file;
|
||||
const char *base, *slash;
|
||||
|
||||
switch (cmd) {
|
||||
case CLI_INIT:
|
||||
|
@ -716,16 +716,13 @@ static char *handle_cli_dialplan_save(struct ast_cli_entry *e, int cmd, struct a
|
|||
if (!strstr(a->argv[2], ".conf")) { /*no, this is assumed to be a pathname */
|
||||
/* if filename ends with '/', do not add one */
|
||||
slash = (*(a->argv[2] + strlen(a->argv[2]) -1) == '/') ? "/" : "";
|
||||
file = config; /* default: 'extensions.conf' */
|
||||
} else { /* yes, complete file name */
|
||||
slash = "";
|
||||
file = "";
|
||||
}
|
||||
} else {
|
||||
/* no config file, default one */
|
||||
base = ast_config_AST_CONFIG_DIR;
|
||||
slash = "/";
|
||||
file = config;
|
||||
}
|
||||
snprintf(filename, sizeof(filename), "%s%s%s", base, slash, config);
|
||||
|
||||
|
@ -1640,7 +1637,6 @@ static void pbx_load_users(void)
|
|||
char dahdicopy[256];
|
||||
char *ext, altcopy[256];
|
||||
char *c;
|
||||
int len;
|
||||
int hasvoicemail;
|
||||
int start, finish, x;
|
||||
struct ast_context *con = NULL;
|
||||
|
@ -1654,7 +1650,6 @@ static void pbx_load_users(void)
|
|||
if (!strcasecmp(cat, "general"))
|
||||
continue;
|
||||
iface[0] = '\0';
|
||||
len = sizeof(iface);
|
||||
if (ast_true(ast_config_option(cfg, cat, "hassip"))) {
|
||||
snprintf(tmp, sizeof(tmp), "SIP/%s", cat);
|
||||
append_interface(iface, sizeof(iface), tmp);
|
||||
|
|
|
@ -1922,7 +1922,7 @@ static int handle_controlstreamfile(struct ast_channel *chan, AGI *agi, int argc
|
|||
|
||||
static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, const char * const argv[])
|
||||
{
|
||||
int res, vres;
|
||||
int res;
|
||||
struct ast_filestream *fs, *vfs;
|
||||
long sample_offset = 0, max_length;
|
||||
const char *edigits = "";
|
||||
|
@ -1951,7 +1951,7 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, const
|
|||
ast_seekstream(fs, sample_offset, SEEK_SET);
|
||||
res = ast_applystream(chan, fs);
|
||||
if (vfs)
|
||||
vres = ast_applystream(chan, vfs);
|
||||
ast_applystream(chan, vfs);
|
||||
ast_playstream(fs);
|
||||
if (vfs)
|
||||
ast_playstream(vfs);
|
||||
|
@ -1972,7 +1972,7 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, const
|
|||
/*! \brief get option - really similar to the handle_streamfile, but with a timeout */
|
||||
static int handle_getoption(struct ast_channel *chan, AGI *agi, int argc, const char * const argv[])
|
||||
{
|
||||
int res, vres;
|
||||
int res;
|
||||
struct ast_filestream *fs, *vfs;
|
||||
long sample_offset = 0, max_length;
|
||||
int timeout = 0;
|
||||
|
@ -2007,7 +2007,7 @@ static int handle_getoption(struct ast_channel *chan, AGI *agi, int argc, const
|
|||
ast_seekstream(fs, sample_offset, SEEK_SET);
|
||||
res = ast_applystream(chan, fs);
|
||||
if (vfs)
|
||||
vres = ast_applystream(chan, vfs);
|
||||
ast_applystream(chan, vfs);
|
||||
ast_playstream(fs);
|
||||
if (vfs)
|
||||
ast_playstream(vfs);
|
||||
|
|
|
@ -1706,7 +1706,7 @@ static void *do_refresh(void *data)
|
|||
for (;;) {
|
||||
struct timeval now = ast_tvnow();
|
||||
struct timespec ts = {0,};
|
||||
int res, wait;
|
||||
int wait;
|
||||
|
||||
ast_mutex_lock(&refreshlock);
|
||||
|
||||
|
@ -1715,7 +1715,7 @@ static void *do_refresh(void *data)
|
|||
}
|
||||
|
||||
ts.tv_sec = (now.tv_sec + wait / 1000) + 1;
|
||||
res = ast_cond_timedwait(&refresh_condition, &refreshlock, &ts);
|
||||
ast_cond_timedwait(&refresh_condition, &refreshlock, &ts);
|
||||
|
||||
ast_mutex_unlock(&refreshlock);
|
||||
|
||||
|
@ -1742,10 +1742,9 @@ static int unload_module(void)
|
|||
ao2_callback(calendars, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, NULL, NULL);
|
||||
|
||||
AST_LIST_LOCK(&techs);
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&techs, tech, list) {
|
||||
AST_LIST_TRAVERSE(&techs, tech, list) {
|
||||
ast_unload_resource(tech->module, 0);
|
||||
}
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
AST_LIST_UNLOCK(&techs);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -2266,9 +2266,7 @@ static char *fax_session_tab_complete(struct ast_cli_args *a)
|
|||
}
|
||||
ao2_ref(s, -1);
|
||||
}
|
||||
if (ao2_iterator_destroy != NULL) {
|
||||
ao2_iterator_destroy(&i);
|
||||
}
|
||||
ao2_iterator_destroy(&i);
|
||||
return name;
|
||||
}
|
||||
|
||||
|
@ -2502,9 +2500,7 @@ static char *cli_fax_show_sessions(struct ast_cli_entry *e, int cmd, struct ast_
|
|||
ast_log(LOG_ERROR, "error printing filenames for 'fax show sessions' command");
|
||||
ao2_unlock(s);
|
||||
ao2_ref(s, -1);
|
||||
if (ao2_iterator_destroy != NULL) {
|
||||
ao2_iterator_destroy(&i);
|
||||
}
|
||||
ao2_iterator_destroy(&i);
|
||||
return CLI_FAILURE;
|
||||
}
|
||||
|
||||
|
@ -2518,9 +2514,7 @@ static char *cli_fax_show_sessions(struct ast_cli_entry *e, int cmd, struct ast_
|
|||
ao2_unlock(s);
|
||||
ao2_ref(s, -1);
|
||||
}
|
||||
if (ao2_iterator_destroy != NULL) {
|
||||
ao2_iterator_destroy(&i);
|
||||
}
|
||||
ao2_iterator_destroy(&i);
|
||||
session_count = ao2_container_count(faxregistry.container);
|
||||
ast_cli(a->fd, "\n%d FAX sessions\n\n", session_count);
|
||||
|
||||
|
|
|
@ -658,13 +658,11 @@ static void *monmp3thread(void *data)
|
|||
}
|
||||
if (class->timer) {
|
||||
struct pollfd pfd = { .fd = ast_timer_fd(class->timer), .events = POLLIN, };
|
||||
struct timeval tv;
|
||||
|
||||
#ifdef SOLARIS
|
||||
thr_yield();
|
||||
#endif
|
||||
/* Pause some amount of time */
|
||||
tv = ast_tvnow();
|
||||
if (ast_poll(&pfd, 1, -1) > 0) {
|
||||
ast_timer_ack(class->timer, 1);
|
||||
res = 320;
|
||||
|
@ -1044,7 +1042,6 @@ static int moh_scan_files(struct mohclass *class) {
|
|||
char filepath[PATH_MAX];
|
||||
char *ext;
|
||||
struct stat statbuf;
|
||||
int dirnamelen;
|
||||
int i;
|
||||
|
||||
if (class->dir[0] != '/') {
|
||||
|
@ -1065,7 +1062,6 @@ static int moh_scan_files(struct mohclass *class) {
|
|||
ast_free(class->filearray[i]);
|
||||
|
||||
class->total_files = 0;
|
||||
dirnamelen = strlen(dir_path) + 2;
|
||||
if (!getcwd(path, sizeof(path))) {
|
||||
ast_log(LOG_WARNING, "getcwd() failed: %s\n", strerror(errno));
|
||||
return -1;
|
||||
|
|
Reference in New Issue