synapse_t *new_synapse = (synapse_t*) crm_malloc(sizeof(synapse_t));
synapse_t *new_synapse = NULL; crm_malloc(new_synapse, sizeof(synapse_t));
unpack_graph(xmlNodePtr xml_graph){/*<transition_graph>  <synapse>    <action_set>      <rsc_op id="2"	...     <inputs>      <rsc_op id="2"	... */	int num_synapses = 0;	int num_actions = 0;	xml_child_iter(		xml_graph, synapse, "synapse",		synapse_t *new_synapse = (synapse_t*)			crm_malloc(sizeof(synapse_t));		new_synapse->id       = num_synapses++;		new_synapse->complete = FALSE;		new_synapse->actions  = NULL;		new_synapse->inputs   = NULL;				graph = g_list_append(graph, new_synapse);		xml_child_iter(			synapse, actions, "action_set",			xml_child_iter(				actions, action, NULL,								action_t *new_action = unpack_action(action);				num_actions++;								if(new_action == NULL) {					action = action->next;					break;				}				new_synapse->actions = g_list_append(					new_synapse->actions,					new_action);				);						);		xml_child_iter(			synapse, inputs, "inputs",			xml_child_iter(				inputs, trigger, NULL,				xml_child_iter(					trigger, input, NULL,					action_t *new_input =						unpack_action(input);					if(new_input == NULL) {						input = input->next;						break;					}										new_synapse->inputs = g_list_append(						new_synapse->inputs,						new_input);					);				);			);		);	crm_info("Unpacked %d actions in %d synapses",		 num_actions, num_synapses);	if(num_actions > 0) {		return TRUE;	} else {		/* indicate to caller that there's nothing to do */		return FALSE;	}	}