All pastes #947363 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-18 13:22 UTC
rendered paste body
(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;
}