avoid unneeded calls to strlen in iax2 completion functions
authorRussell Bryant <russell@russellbryant.com>
Tue, 27 Dec 2005 19:48:44 +0000 (19:48 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 27 Dec 2005 19:48:44 +0000 (19:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7659 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c
channels/iax2-provision.c

index 1251c3c..92c7e8c 100644 (file)
@@ -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;
                                }
index c1b6f4b..420e792 100644 (file)
@@ -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;
 }