4 * Mathieu Desnoyers, August 2007
9 #include <ltt/compiler.h>
10 #include <ltt/markers.h>
12 #define DEFAULT_MARKERS_NUM 100
14 int marker_format_event(LttTrace
*trace
, const char *name
, const char *format
)
16 struct marker_info
*info
;
18 info
= g_hash_table_lookup(trace
->markers_hash
, (gconstpointer
)name
);
20 g_error("Got marker format %s, but marker name %s has no ID yet. "
25 info
->format
= g_new(char, strlen(format
)+1);
26 strcpy(info
->format
, format
);
27 /* TODO deal with format string */
30 int marker_id_event(LttTrace
*trace
, const char *name
, uint16_t id
)
32 struct marker_info
*info
;
34 if (trace
->markers
->len
< id
)
35 trace
->markers
= g_array_set_size(trace
->markers
, id
+1);
36 info
= &g_array_index(trace
->markers
, struct marker_info
, id
);
39 info
->name
= g_new(char, strlen(name
)+1);
40 strcpy(info
->name
, name
);
41 g_hash_table_insert(trace
->markers_hash
, (gpointer
)name
, info
);
44 int allocate_marker_data(LttTrace
*trace
)
47 trace
->markers
= g_array_sized_new(FALSE
, TRUE
,
48 sizeof(struct marker_info
), DEFAULT_MARKERS_NUM
);
49 trace
->markers_hash
= g_hash_table_new(g_str_hash
, g_str_equal
);
52 int destroy_marker_data(LttTrace
*trace
)
55 struct marker_info
*info
;
57 for (i
=0; i
<trace
->markers
->len
; i
++) {
58 info
= &g_array_index(trace
->markers
, struct marker_info
, i
);
64 g_array_free(trace
->markers
, TRUE
);
65 g_hash_table_destroy(trace
->markers_hash
);
This page took 0.033492 seconds and 5 git commands to generate.