(gdb) step camel_message_info_ptr (mi=0x822ca70, id=0) at camel-folder-summary.c:3667 3667 g_static_rec_mutex_lock (&global_lock); (gdb) next 3669 if (mi==NULL || mi->refcount <= 0) (gdb) print *mi $14 = {summary = 0x8096a58, refcount = 2, uid = 0x825f9e8 "GmailId11835e3e5eb41c2c"} (gdb) next 3673 if (mi->summary) (gdb) print mi->summary $15 = (CamelFolderSummary *) 0x8096a58 (gdb) print * (CamelFolderSummary *) mi->summary $16 = {parent = {klass = 0x0, hooks = 0x0, ref_count = 0, flags = 2}, priv = 0x0, version = 0, flags = 0, nextuid = 0, time = 0, saved_count = 0, unread_count = 0, deleted_count = 0, junk_count = 0, message_info_size = 0, content_info_size = 0, summary_path = 0x0, build_content = 0, messages = 0x0, expunged = 0x0, uidhash = 0x0, folder = 0x0, meta_summary = 0x0, file = 0x0, filepos = 0x0, hash_lock = 0x0, dump_lock = 0x0, in_reload = 0, had_expunges = 0, idx = 0, set_extra_flags_func = 0} (gdb) VS onst void * camel_message_info_ptr(const CamelMessageInfo *mi, int id) { const void * retval; g_static_rec_mutex_lock (&global_lock); if (mi==NULL || mi->refcount <= 0) retval = NULL; else { if (mi->summary) if (((CamelObject*)mi->summary)->ref_count > 0 && CAMEL_IS_FOLDER_SUMMARY (mi->summary)) retval = ((CamelFolderSummaryClass *)((CamelObject *)mi->summary)->klass)->info_ptr(mi, id); else retval = NULL; else retval = info_ptr(mi, id); } g_static_rec_mutex_unlock (&global_lock); return retval; }