Re: GList empty after iteration?
- From: Florian Müllner <fmuellner gnome org>
- To: Craig <craigbakalian verizon net>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: GList empty after iteration?
- Date: Mon, 12 Sep 2011 22:20:45 +0200
On lun, 2011-09-12 at 15:10 -0400, Craig wrote:
I am shocked to see that after I iterate through the GList, I cannot
iterate through the list again.
That's an easy one :-)
while(events)
{
/* [...] */
events = g_list_next(events);
}
You are modifying the list in the loop until g_list_next() returns
NULL ...
/// this is where the list appears to be empty!!!!
events = g_list_first(events);
so you are now trying to iterate over an empty list (events == NULL).
You probably want a dedicated variable for the iteration, e.g.
GList *iter;
events = g_list_reverse (events);
for (iter = events; iter; iter = iter->next)
/* do stuff */;
for (iter = events; iter; iter = iter->next)
/* do other stuff */;
Regards,
Florian
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]