mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
avoid unneeded calls to strlen in iax2 completion functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1975,13 +1975,14 @@ static char *complete_iax2_show_peer(char *line, char *word, int pos, int state)
|
||||
int which = 0;
|
||||
struct iax2_peer *p;
|
||||
char *res = NULL;
|
||||
int wordlen = strlen(word);
|
||||
|
||||
/* 0 - iax2; 1 - show; 2 - peer; 3 - <peername> */
|
||||
if(pos == 3) {
|
||||
if (pos == 3) {
|
||||
ast_mutex_lock(&peerl.lock);
|
||||
for(p = peerl.peers ; p ; p = p->next) {
|
||||
if(!strncasecmp(p->name, word, strlen(word))) {
|
||||
if(++which > state) {
|
||||
for (p = peerl.peers ; p ; p = p->next) {
|
||||
if (!strncasecmp(p->name, word, wordlen)) {
|
||||
if (++which > state) {
|
||||
res = strdup(p->name);
|
||||
break;
|
||||
}
|
||||
|
@@ -156,21 +156,20 @@ char *iax_prov_complete_template(char *line, char *word, int pos, int state)
|
||||
{
|
||||
struct iax_template *c;
|
||||
int which=0;
|
||||
char *ret;
|
||||
char *ret = NULL;
|
||||
int wordlen = strlen(word);
|
||||
|
||||
ast_mutex_lock(&provlock);
|
||||
c = templates;
|
||||
while(c) {
|
||||
if (!strncasecmp(word, c->name, strlen(word))) {
|
||||
if (++which > state)
|
||||
for (c = templates; c; c = c->next) {
|
||||
if (!strncasecmp(word, c->name, wordlen)) {
|
||||
if (++which > state) {
|
||||
ret = strdup(c->name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
if (c) {
|
||||
ret = strdup(c->name);
|
||||
} else
|
||||
ret = NULL;
|
||||
ast_mutex_unlock(&provlock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user