#endif
#include <lttv/filter.h>
+#include <ltt/trace.h>
+#include <ltt/type.h>
+#include <stdlib.h>
+#include <string.h>
/**
* @fn LttvSimpleExpression* lttv_simple_expression_new()
GString* f = NULL;
if(fp->len < 2) return FALSE;
- g_assert(f=g_ptr_array_remove_index(fp,0));
+ g_assert((f=g_ptr_array_remove_index(fp,0)));
/*
* Parse through the specified
gboolean is_double = FALSE;
LttTime t = ltt_time_zero;
GString* v;
- GQuark quark;
switch(se->field) {
/*
/* cannot specify number with more than one '.' */
if(is_double) return FALSE;
else is_double = TRUE;
- t.tv_sec = atoi(v);
+ t.tv_sec = atoi(v->str);
g_string_free(v,TRUE);
v = g_string_new("");
} else g_string_append_c(v,value[i]);
}
/* number can be integer or double */
- if(is_double) t.tv_nsec = atoi(v);
- else t.tv_sec = atoi(v);
+ if(is_double) t.tv_nsec = atoi(v->str);
+ else t.tv_sec = atoi(v->str);
g_string_free(v,TRUE);
if(expression == NULL) return FALSE;
if(filter == NULL) return FALSE;
+ if(expression[0] == '\0') return FALSE; /* Empty expression */
GString* s = g_string_new("");
if(filter->expression != NULL) {
case LTTV_FILTER_STATE_CPU:
if(context == NULL) return TRUE;
else {
- /* FIXME: not sure of that one */
- GQuark quark = ((LttvTracefileState*)context)->cpu_name;
- return se->op((gpointer)&quark,v);
+ /* FIXME: not sure of that one Mathieu : fixed.*/
+ // GQuark quark = ((LttvTracefileState*)context)->cpu_name;
+ // return se->op((gpointer)&quark,v);
+ if(state == NULL) return TRUE;
+ else return se->op((gpointer)&state->cpu,v);
}
break;
case LTTV_FILTER_EVENT_NAME: