* - remove the idle expressions in the tree
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
//#define TEST
#ifdef TEST
#include <time.h>
*/
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);
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);
}
rresult = lttv_filter_tree_parse_branch(t->r_child.leaf,event,tracefile,trace,state,context);
}
- g_print("t:%p rresult:%i lresult:%i\n",t,rresult,lresult);
/*
* Apply and return the
case LTTV_FILTER_TRACE_NAME:
if(trace == NULL) return TRUE;
else {
- char* trace_name = ltt_trace_name(trace);
- GQuark quark = g_quark_from_string(trace_name);
+ GQuark quark = ltt_trace_name(trace);
return se->op((gpointer)&quark,v);
}
break;
case LTTV_FILTER_TRACEFILE_NAME:
if(tracefile == NULL) return TRUE;
else {
- char* tracefile_name = ltt_tracefile_name(tracefile);
- GQuark quark = g_quark_from_string(tracefile_name);
+ GQuark quark = ltt_tracefile_name(tracefile);
return se->op((gpointer)&quark,v);
}
break;
else {
LttEventType* et;
et = ltt_event_eventtype(event);
- char* event_name = ltt_eventtype_name(et);
- GQuark quark = g_quark_from_string(event_name);
+ GQuark quark = ltt_eventtype_name(et);
return se->op((gpointer)&quark,v);
}
break;