Fix building of chan_h323 with gcc-3.3

There seems to be a bug with old versions of g++ that doesn't allow a structure
member to use the name list. Rename list member to group_list in ast_group_info
and change the few places it is used.

(closes issue #14790)
Reported by: stuarth


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Jeff Peeler 16 years ago
parent 3fb648d8fa
commit 11ac1f7e11

@ -107,7 +107,7 @@ static int group_count_function_read(struct ast_channel *chan, const char *cmd,
struct ast_group_info *gi = NULL;
ast_app_group_list_rdlock();
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, list)) {
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, group_list)) {
if (gi->chan != chan)
continue;
if (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))
@ -170,7 +170,7 @@ static int group_function_read(struct ast_channel *chan, const char *cmd,
ast_app_group_list_rdlock();
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, list)) {
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, group_list)) {
if (gi->chan != chan)
continue;
if (ast_strlen_zero(data))
@ -225,7 +225,7 @@ static int group_list_function_read(struct ast_channel *chan, const char *cmd,
ast_app_group_list_rdlock();
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, list)) {
for (gi = ast_app_group_list_head(); gi; gi = AST_LIST_NEXT(gi, group_list)) {
if (gi->chan != chan)
continue;
if (!ast_strlen_zero(tmp1)) {

@ -2015,7 +2015,7 @@ struct ast_group_info {
struct ast_channel *chan;
char *category;
char *group;
AST_LIST_ENTRY(ast_group_info) list;
AST_LIST_ENTRY(ast_group_info) group_list;
};

@ -1014,9 +1014,9 @@ int ast_app_group_set_channel(struct ast_channel *chan, const char *data)
}
AST_RWLIST_WRLOCK(&groups);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, list) {
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, group_list) {
if ((gi->chan == chan) && ((ast_strlen_zero(category) && ast_strlen_zero(gi->category)) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
AST_RWLIST_REMOVE_CURRENT(list);
AST_RWLIST_REMOVE_CURRENT(group_list);
free(gi);
break;
}
@ -1033,7 +1033,7 @@ int ast_app_group_set_channel(struct ast_channel *chan, const char *data)
gi->category = (char *) gi + sizeof(*gi) + strlen(group) + 1;
strcpy(gi->category, category);
}
AST_RWLIST_INSERT_TAIL(&groups, gi, list);
AST_RWLIST_INSERT_TAIL(&groups, gi, group_list);
} else {
res = -1;
}
@ -1053,7 +1053,7 @@ int ast_app_group_get_count(const char *group, const char *category)
}
AST_RWLIST_RDLOCK(&groups);
AST_RWLIST_TRAVERSE(&groups, gi, list) {
AST_RWLIST_TRAVERSE(&groups, gi, group_list) {
if (!strcasecmp(gi->group, group) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
count++;
}
@ -1079,7 +1079,7 @@ int ast_app_group_match_get_count(const char *groupmatch, const char *category)
}
AST_RWLIST_RDLOCK(&groups);
AST_RWLIST_TRAVERSE(&groups, gi, list) {
AST_RWLIST_TRAVERSE(&groups, gi, group_list) {
if (!regexec(&regexbuf, gi->group, 0, NULL, 0) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
count++;
}
@ -1096,11 +1096,11 @@ int ast_app_group_update(struct ast_channel *old, struct ast_channel *new)
struct ast_group_info *gi = NULL;
AST_RWLIST_WRLOCK(&groups);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, list) {
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, group_list) {
if (gi->chan == old) {
gi->chan = new;
} else if (gi->chan == new) {
AST_RWLIST_REMOVE_CURRENT(list);
AST_RWLIST_REMOVE_CURRENT(group_list);
ast_free(gi);
}
}
@ -1115,9 +1115,9 @@ int ast_app_group_discard(struct ast_channel *chan)
struct ast_group_info *gi = NULL;
AST_RWLIST_WRLOCK(&groups);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, list) {
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, group_list) {
if (gi->chan == chan) {
AST_RWLIST_REMOVE_CURRENT(list);
AST_RWLIST_REMOVE_CURRENT(group_list);
ast_free(gi);
}
}

@ -1439,7 +1439,7 @@ static char *group_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cl
ast_cli(a->fd, FORMAT_STRING, gi->chan->name, gi->group, (ast_strlen_zero(gi->category) ? "(default)" : gi->category));
numchans++;
}
gi = AST_LIST_NEXT(gi, list);
gi = AST_LIST_NEXT(gi, group_list);
}
ast_app_group_list_unlock();

Loading…
Cancel
Save