[9475] in The GTK GIMP ToolKit mailing list archive
[gtk-list] Re: GList problem
daemon@ATHENA.MIT.EDU (Wesley Lemke)
Wed Oct 21 21:32:29 1998
From: Wesley Lemke <wesley@home.dwave.net>
To: gtk-list@redhat.com
Date: Wed, 21 Oct 1998 20:32:14 -0500 (CDT)
Resent-From: gtk-list@redhat.com
Reply-To: gtk-list@redhat.com
Dave Cole wrote:
>
> > for(i = 1; i <= WEEKS; i++)
> > {
> > sprintf(string, "Week %d", i);
> > list = g_list_append(list, string);
> > printf("%s\n", string);
> > }
> >
> > g_list_foreach(list, (GFunc) PrintList, NULL);
> >
> >
> > The printf statement prints what I'd expect...."Week 1, Week 2, Week
> > 3..etc" However when I got thought the list with the foreach
> > function, and print out each value it shows that all the values are
> > "Week 17" (17 is what WEEKS is defined to). So the last value is
> > getting inserted into the list WEEKS times.....what am I doing
> > wrong?
>
> When you add an entry a list, it does not make a copy of it. The
> effect of your code is to make a list with WEEKS entries, all of which
> point to the same string. The string contains the value that was
> formatted by the last iteration of the loop.
>
> - Dave
>
Ok, that makes sense. How would you advise a newbie to fix this problem? :)
Thanks,
Buck
--
======================================================================
Wesley (Buck) Lemke
http://www.dwave.net/~wesley
mailto:wesley@dwave.net
ICQ UIN: 4821438
--
To unsubscribe: mail -s unsubscribe gtk-list-request@redhat.com < /dev/null