Move the defintion of the a couple arrays out of loops.

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
This commit is contained in:
Sean Bright
2009-05-01 15:42:48 +00:00
parent f8b1da1872
commit b5ec450104

View 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, '/')))