if(a_id < b_id) { 
if(a_id == -1 && b_id == -1) { /* do nothing */ } else if(a_id < b_id || b_id == -1) { 
sort_op_by_callid(gconstpointer a, gconstpointer b){ 	const char *a_task_id = cl_get_string(a, XML_LRM_ATTR_CALLID); 	const char *b_task_id = cl_get_string(b, XML_LRM_ATTR_CALLID);	const char *a_status = cl_get_string(a, XML_LRM_ATTR_OPSTATUS); 	const char *b_status = cl_get_string(b, XML_LRM_ATTR_OPSTATUS);	int a_id = -1;	int b_id = -1;		if(safe_str_eq(a_status, "-1") && safe_str_eq(b_status, "-1")) {		return 0;	}	/* the reverse from normal so that pending ops appear last */	if(safe_str_eq(a_status, "-1")) { return 1;  }	if(safe_str_eq(b_status, "-1")) { return -1; }	CRM_DEV_ASSERT(a_task_id != NULL && b_task_id != NULL);		/* if task id is NULL, then its a pending op put pending ops last */	if(a_task_id == NULL && b_task_id == NULL) { return 0; }	if(a_task_id == NULL) { return 1; }	if(b_task_id == NULL) { return -1; }	a_id = atoi(a_task_id);	b_id = atoi(b_task_id);	if(a_id < b_id) {		return -1;	} else if(a_id > b_id) {		return 1;	}	return 0;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/60f9b2f90ca268dafc7a452b9c08b843ea912d3c/unpack.c/buggy/crm/pengine/unpack.c