diff options
author | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2012-08-19 03:05:32 +0000 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2012-08-19 03:05:32 +0000 |
commit | 17f775803693c576fb011ceec90970f61d306b88 (patch) | |
tree | c2ec6829a826ae7d4b0371db4b4dbc4ddbd66372 /ui/gtk/rlc_lte_graph.c | |
parent | 053c3e7e2470fc657f660a9516e8d6a8ad627cda (diff) |
Both lists of elements are always allocated together, so save a scan
through the segments by only getting the counts once.
svn path=/trunk/; revision=44577
Diffstat (limited to 'ui/gtk/rlc_lte_graph.c')
-rw-r--r-- | ui/gtk/rlc_lte_graph.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/ui/gtk/rlc_lte_graph.c b/ui/gtk/rlc_lte_graph.c index c542f20aeb..0d129642ef 100644 --- a/ui/gtk/rlc_lte_graph.c +++ b/ui/gtk/rlc_lte_graph.c @@ -2489,17 +2489,16 @@ static void rlc_lte_make_elmtlist(struct graph *g) /* Allocate all needed elements up-front */ if (g->elists->elements == NULL) { get_data_control_counts(g, &data, &acks, &nacks); + + /* Allocate elements for status */ n = 2 + (5*acks) + (4*nacks); e0 = elements0 = (struct element *)g_malloc(n*sizeof(struct element)); - } else { - e0 = elements0 = g->elists->elements; - } - if (g->elists->next->elements == NULL ) { - get_data_control_counts(g, &data, &acks, &nacks); + /* Allocate elements for data */ n = 1 + (5*data); e1 = elements1 = (struct element *)g_malloc(n*sizeof(struct element)); } else { + e0 = elements0 = g->elists->elements; e1 = elements1 = g->elists->next->elements; } |