diff --git a/channels.c b/channels.c
index a4b3994c..4bda81c9 100644
--- a/channels.c
+++ b/channels.c
@@ -41,7 +41,6 @@
struct th_channel_list channels;
struct th_transport_list all_transports;
int nchannels;
-int grouporder = 1000;
struct th_channel_group_queue all_channel_groups;
@@ -49,15 +48,6 @@ th_channel_group_t *defgroup;
void scanner_init(void);
-/**
- *
- */
-static int
-ch_order_cmp(th_channel_t *a, th_channel_t *b)
-{
- return a->ch_order - b->ch_order;
-}
-
/**
*
*/
@@ -77,7 +67,8 @@ channel_group_find(const char *name, int create)
tcg->tcg_name = strdup(name);
tcg->tcg_tag = tag_get();
- tcg->tcg_order = grouporder++;
+ TAILQ_INIT(&tcg->tcg_channels);
+
TAILQ_INSERT_HEAD(&all_channel_groups, tcg, tcg_global_link);
return tcg;
}
@@ -92,10 +83,10 @@ void
channel_set_group(th_channel_t *ch, th_channel_group_t *tcg)
{
if(ch->ch_group != NULL)
- LIST_REMOVE(ch, ch_group_link);
+ TAILQ_REMOVE(&ch->ch_group->tcg_channels, ch, ch_group_link);
ch->ch_group = tcg;
- LIST_INSERT_SORTED(&tcg->tcg_channels, ch, ch_group_link, ch_order_cmp);
+ TAILQ_INSERT_TAIL(&tcg->tcg_channels, ch, ch_group_link);
}
/**
@@ -109,7 +100,7 @@ channel_group_destroy(th_channel_group_t *tcg)
if(defgroup == tcg)
return;
- while((ch = LIST_FIRST(&tcg->tcg_channels)) != NULL) {
+ while((ch = TAILQ_FIRST(&tcg->tcg_channels)) != NULL) {
channel_set_group(ch, defgroup);
}
@@ -158,8 +149,7 @@ channel_find(const char *name, int create)
ch->ch_index = nchannels;
TAILQ_INIT(&ch->ch_epg_events);
- ch->ch_order = nchannels + 1000;
- LIST_INSERT_SORTED(&channels, ch, ch_global_link, ch_order_cmp);
+ LIST_INSERT_HEAD(&channels, ch, ch_global_link);
channel_set_group(ch, defgroup);
diff --git a/htmlui.c b/htmlui.c
index b9a54da3..a7c35544 100644
--- a/htmlui.c
+++ b/htmlui.c
@@ -440,7 +440,7 @@ page_root(http_connection_t *hc, const char *remain, void *opaque)
box_bottom(&tq);
tcp_qprintf(&tq, "
");
- LIST_FOREACH(ch, &tcg->tcg_channels, ch_group_link) {
+ TAILQ_FOREACH(ch, &tcg->tcg_channels, ch_group_link) {
box_top(&tq, "box");
tcp_qprintf(&tq, "