On Dec 25, 2007 9:50 PM, sumit kumar <[EMAIL PROTECTED]> wrote: > Hi All, > I am trying to use GLib double link list in my application.But I have a > problem. I run the GList sample program from Gtk+-2.0 FAQ:- > *snip* > > *gint pos; > g_print("Enter Number1\n"); > scanf("%d",&pos); > list = g_list_append(list, (gpointer)&pos); > > g_print("Enter Number2\n"); > scanf("%d",&pos); > list = g_list_append(list, (gpointer)&pos); > > g_print("Enter Number3\n"); > scanf("%d",&pos); > list = g_list_append(list, (gpointer)&pos); > > g_print("Enter Number4\n"); > scanf("%d",&pos); > list = g_list_append(list, (gpointer)&pos); > * > It prints only last element I appened 4 times... 44, 44 ,44 ,44 if I > appended 44 as last element. > Whats wrong with this code?? >
This is not a GTK question, so wouldn't this be the wrong list? Anyway, your code will read in a number (using scanf) into a variable called "pos", which is overwritten by the next call to scanf. Since your list only stores pointers to "pos", you have four pointers to the same variable, which stores the last number entered by the user. Change your list to directly store the numbers themselves, or allocate new memory for each integer. _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list