char *name = NULL, *value = NULL; 
match_attrs(const char *attr_exp, GListPtr node_list, gboolean invert){	int lpc = 0;	GListPtr result = NULL;	char *name = NULL, *value = NULL;		if(decodeNVpair(attr_exp, ':', &name, &value) == FALSE) {		return NULL;	} else if(name == NULL) {		crm_err("Attribute %s was invalid", name);		return NULL;	}	slist_iter(		node, node_t, node_list, lpc,		gboolean accept = FALSE;				const char *h_val = (const char*)g_hash_table_lookup(			node->details->attrs, name);		if(h_val != NULL && value == NULL && invert == FALSE) {			accept = TRUE;		} else if(h_val == NULL && value == NULL && invert) {			accept = TRUE;		} else if(h_val != NULL && value != NULL) {			if(invert == FALSE && safe_str_eq(value, h_val)) {				accept = TRUE;			} else if(invert && safe_str_neq(value, h_val)) {				accept = TRUE;			}		}				if(accept) {			result = g_list_append(result, node);		}		   		);		return result;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/68c2573f186a540517c17f9932a3816b84039ca5/unpack.c/clean/crm/pengine/unpack.c