X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=inline;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindowtraces.c;h=bafc5fdd06fd6925193bd5cebfc4982eb087baa3;hb=0fdb8bb0256c3dc90d3398fd70112a9081e91e58;hp=3a190006e69d04062792735723a6887049666f5b;hpb=5e2c04a21b4282bbd5318d53956d556c0946d8dd;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c index 3a190006..bafc5fdd 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c @@ -20,6 +20,10 @@ /* Here is the implementation of the API */ +#include +#include +#include + #include #include #include @@ -126,14 +130,23 @@ void lttvwindowtraces_add_trace(LttvTrace *trace) LttvAttribute *attribute; LttvAttributeValue value; guint num; + struct stat buf; + gchar attribute_path[PATH_MAX]; + if(stat(ltt_trace_name(lttv_trace(trace)), &buf)) { + g_warning("lttvwindowtraces_add_trace: Trace %s not found", + ltt_trace_name(lttv_trace(trace))); + return; + } + g_assert( + snprintf(attribute_path, PATH_MAX, "%lu:%lu", buf.st_dev, buf.st_ino) >= 0); + g_assert(attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), LTTV_TRACES))); - num = lttv_attribute_get_number(attribute); - + value = lttv_attribute_add(attribute, - num, + g_quark_from_string(attribute_path), LTTV_POINTER); *(value.v_pointer) = (gpointer)trace;