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
1.4
Russell Bryant 20 years ago
parent a19361c684
commit 37e21fc61c

@ -1975,13 +1975,14 @@ static char *complete_iax2_show_peer(char *line, char *word, int pos, int state)
int which = 0; int which = 0;
struct iax2_peer *p; struct iax2_peer *p;
char *res = NULL; char *res = NULL;
int wordlen = strlen(word);
/* 0 - iax2; 1 - show; 2 - peer; 3 - <peername> */ /* 0 - iax2; 1 - show; 2 - peer; 3 - <peername> */
if(pos == 3) { if (pos == 3) {
ast_mutex_lock(&peerl.lock); ast_mutex_lock(&peerl.lock);
for(p = peerl.peers ; p ; p = p->next) { for (p = peerl.peers ; p ; p = p->next) {
if(!strncasecmp(p->name, word, strlen(word))) { if (!strncasecmp(p->name, word, wordlen)) {
if(++which > state) { if (++which > state) {
res = strdup(p->name); res = strdup(p->name);
break; break;
} }

@ -156,21 +156,20 @@ char *iax_prov_complete_template(char *line, char *word, int pos, int state)
{ {
struct iax_template *c; struct iax_template *c;
int which=0; int which=0;
char *ret; char *ret = NULL;
int wordlen = strlen(word);
ast_mutex_lock(&provlock); ast_mutex_lock(&provlock);
c = templates; for (c = templates; c; c = c->next) {
while(c) { if (!strncasecmp(word, c->name, wordlen)) {
if (!strncasecmp(word, c->name, strlen(word))) { if (++which > state) {
if (++which > state) ret = strdup(c->name);
break; break;
}
} }
c = c->next;
} }
if (c) {
ret = strdup(c->name);
} else
ret = NULL;
ast_mutex_unlock(&provlock); ast_mutex_unlock(&provlock);
return ret; return ret;
} }

Loading…
Cancel
Save