- case LTT_STRUCT:
- g_string_append_printf(s, " {");
- nb = ltt_type_member_number(type);
- for(i = 0 ; i < nb ; i++) {
- element = ltt_field_member(f,i);
- if(field_names) {
- ltt_type_member_type(type, i, &name);
- g_string_append_printf(s, " %s = ", name);
- }
- print_field(e, element, s, field_names);
- }
- g_string_append_printf(s, " }");
- break;
+ switch(type) {
+ case LTTV_INT:
+ fprintf(fp, "%s: %d\n", indent->str, *value.v_int);
+ break;
+ case LTTV_UINT:
+ fprintf(fp, "%s: %d\n", indent->str, *value.v_int);
+ break;
+ case LTTV_LONG:
+ fprintf(fp, "%s: %ld\n", indent->str, *value.v_ulong);
+ break;
+ case LTTV_ULONG:
+ fprintf(fp, "%s: %lu\n", indent->str, *value.v_ulong);
+ break;
+ case LTTV_FLOAT:
+ fprintf(fp, "%s: %f\n", indent->str, (double) *value.v_float);
+ break;
+ case LTTV_DOUBLE:
+ fprintf(fp, "%s: %f\n", indent->str, *value.v_double);
+ break;
+ case LTTV_TIME:
+ fprintf(fp, "%s: %lu.%09lu\n", indent->str, value.v_time->tv_sec, value.v_time->tv_nsec);
+ break;
+ case LTTV_POINTER:
+ fprintf(fp, "%s: POINTER\n", indent->str);
+ break;
+ case LTTV_STRING:
+ fprintf(fp, "%s: %s\n", indent->str, *value.v_string);
+ break;
+ case LTTV_GOBJECT:
+ if(LTTV_IS_ATTRIBUTE(*(value.v_gobject))) {
+ subtree = (LttvAttribute*) *(value.v_gobject);
+ print_path_tree(fp, indent, subtree);
+ } else {
+ fprintf(fp, "%s: GOBJECT\n", indent->str);
+ }
+ break;
+ case LTTV_NONE:
+ break;
+ }
+ g_string_truncate(indent, saved_length);