--- John Wendel <john.wendel@xxxxxxxxxxxxxxx> wrote: > Globe Trotter wrote: > > Hi, > > > > OK, I know this is not a list for this question, but I have posted on the > GTK > > list, but that is very low volume, and the answer is killing me. So, I > > apologize for this question, but after struggling with this for over a day, > I > > wanted to ask you for your help regarding usage for g_list_insert_sorted. > Can > > someone please help. Here are the operative parts of my program: > > > > I have the following struct: > > > > typedef struct _message_info > > { > > char *from; > > char *subject; > > char *face; > > long *ctime; > > } MESSAGE_INFO; > > > > I have the following comparison function: > > > > static gint compare_ctime (gconstpointer a, gconstpointer b) > > { > > const MESSAGE_INFO *p1=a,*p2=b; > > > > return ((p1->ctime > p2->ctime) ? +1: (p1->ctime == p2->ctime) ? 0 : -1); > > } > > > > and the following calling part: > > > > Glist *headers; > > ..... > > MESSAGE_INFO *m; > > m = g_new(MESSAGE_INFO,1); > > m->from = safe_strdup (from); > > m->subject = safe_strdup (subject); > > m->face = safe_strdup (xface); > > m->ctime = ctime; > > headers = g_list_insert_sorted (headers, m,(GCompareFunc)compare_ctime); > > .... > > > > I get segmentation fault with this, and was wondering how I could fix it. I > > guess my question is how to use g_list_insert_sorted. > > > > I have Googled quite a bit on this, but have not been able to devise the > fix. > > This is a programming error, I think, based on my inadequate knowledge. Any > > help would be very appreciated. > > > > Many thanks and best wishes, > > trotter > > DISCLAIMER: I don't know what I'm writing about! > > "m->ctime = ctime;" looks suspect. I don't see the definition of > "ctime" in your code fragment, but it looks like you're assigning a > long to a pointer. > > Either in MESSAGE_INFO ctime should be declared "long ctime" or the > assignment should be m->ctime = & ctime; > > Hope this isn't totally off base. > > Regards, > > John > Thanks, John! You are not at all off base, I actually pass ctime as a pointer in a function, and I neglected to include that in my snippet. Removing the pointer also gives me no respite. Many thanks! Trotter __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com