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
1.4
Sean Bright 18 years ago
parent f8b1da1872
commit b5ec450104

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

Loading…
Cancel
Save