char *fcopy;
fquery = marker_get_format_from_name(trace, name);
- if (fquery)
+ 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)name,
+ g_hash_table_insert(trace->markers_format_hash, (gpointer)(gulong)name,
(gpointer)fcopy);
info = marker_get_info_from_name(trace, name);
info->format, g_quark_to_string(name));
head = marker_get_info_from_name(trace, name);
if (!head)
- g_hash_table_insert(trace->markers_hash, (gpointer)name,
+ g_hash_table_insert(trace->markers_hash, (gpointer)(gulong)name,
(gpointer)(gulong)id);
else {
struct marker_info *iter;
if (iter->name == name)
found = 1;
if (!found) {
- g_hash_table_replace(trace->markers_hash, (gpointer)name,
+ g_hash_table_replace(trace->markers_hash, (gpointer)(gulong)name,
(gpointer)(gulong)id);
info->next = head;
}