- info = g_hash_table_lookup(trace->markers_hash, (gconstpointer)name);
- if (!info)
- g_error("Got marker format \"%s\", but marker name \"%s\" has no ID yet. "
- "Kernel issue.",
- format, name);
+ fquery = marker_get_format_from_name(trace, name);
+ if (fquery) {
+ if (strcmp(fquery, format) != 0)
+ g_error("Marker format mismatch \"%s\" vs \"%s\" for marker %s. "
+ "Kernel issue.", fquery, format, g_quark_to_string(name));
+ else
+ return 0; /* Already exists. Nothing to do. */
+ }
+ fcopy = g_new(char, strlen(format)+1);
+ strcpy(fcopy, format);
+ g_hash_table_insert(trace->markers_format_hash, (gpointer)(gulong)name,
+ (gpointer)fcopy);
+
+ info = marker_get_info_from_name(trace, name);