]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Move the defintion of the a couple arrays out of loops.
authorSean Bright <sean@malleable.com>
Fri, 1 May 2009 15:42:48 +0000 (15:42 +0000)
committerSean Bright <sean@malleable.com>
Fri, 1 May 2009 15:42:48 +0000 (15:42 +0000)
According to Kevin, it is unspecified as to whether a variable defined inside
a block is allocated once by the compiler or for each pass through the block
(loops being the only interesting case), so just define these before we get
into our loop to be sure.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@191422 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index 1af6670978e00968eec2be0dadf48db4298208af..867bfb6c0542e1aa5d43cd48f5b1bb83ec96fc4d 100644 (file)
@@ -594,13 +594,13 @@ static int update_status(const char *interface, const int status)
        struct member *cur;
        struct ao2_iterator mem_iter;
        struct call_queue *q;
+       char tmp_interface[80];
 
        AST_LIST_LOCK(&queues);
        AST_LIST_TRAVERSE(&queues, q, list) {
                ast_mutex_lock(&q->lock);
                mem_iter = ao2_iterator_init(q->members, 0);
                while ((cur = ao2_iterator_next(&mem_iter))) {
-                       char tmp_interface[80];
                        char *slash_pos;
                        ast_copy_string(tmp_interface, cur->state_interface, sizeof(tmp_interface));
                        if ((slash_pos = strchr(tmp_interface, '/')))
@@ -647,6 +647,7 @@ static void *handle_statechange(struct statechange *sc)
        struct member_interface *curint;
        char *loc;
        char *technology;
+       char interface[80];
 
        technology = ast_strdupa(sc->dev);
        loc = strchr(technology, '/');
@@ -658,7 +659,6 @@ static void *handle_statechange(struct statechange *sc)
 
        AST_LIST_LOCK(&interfaces);
        AST_LIST_TRAVERSE(&interfaces, curint, list) {
-               char interface[80];
                char *slash_pos;
                ast_copy_string(interface, curint->interface, sizeof(interface));
                if ((slash_pos = strchr(interface, '/')))