*/
gboolean lttv_apply_op_eq_quark(const gpointer v1, LttvFieldValue v2) {
GQuark* r = (GQuark*) v1;
- g_print("v1:%i v2:%i\n",*r,v2.v_uint32);
+// g_print("v1:%i v2:%i\n",*r,v2.v_uint32);
return (*r == v2.v_uint32);
}
*/
LttvFilter*
lttv_filter_clone(const LttvFilter* filter) {
-
+
+ if(!filter) return NULL;
+
LttvFilter* newfilter = g_new(LttvFilter,1);
strcpy(newfilter->expression,filter->expression);
t3->node = LTTV_LOGICAL_NOT;
t2->left = LTTV_TREE_NODE;
t2->l_child.t = t3;
-// g_print("%i\n",t2->left);
-// g_print("*************************************\n");
-// lttv_print_tree(t2,0);
-// g_print("*************************************\n");
-// lttv_print_tree(t3,0);
-// g_print("*************************************\n");
t2 = t3;
not = 0;
-// g_print("ici t1:%p t2:%p t3:%p\n",t1,t2,t3);
}
if(subtree != NULL) { /* append subtree to current tree */
t2->left = LTTV_TREE_NODE;
void
lttv_filter_destroy(LttvFilter* filter) {
- g_free(filter->expression);
- lttv_filter_tree_destroy(filter->head);
+ if(!filter) return;
+
+ if(filter->expression)
+ g_free(filter->expression);
+ if(filter->head)
+ lttv_filter_tree_destroy(filter->head);
g_free(filter);
}
else if(t->right == LTTV_TREE_LEAF) {
rresult = lttv_filter_tree_parse_branch(t->r_child.leaf,event,tracefile,trace,state,context);
}
-
+
+
/*
* Apply and return the
* logical link between the