static inline struct marker_info *marker_get_info_from_id(LttTrace *trace,
guint16 id)
{
- if (unlikely(trace->markers->len < id))
+ if (unlikely(trace->markers->len <= id))
return NULL;
return &g_array_index(trace->markers, struct marker_info, id);
}
static inline struct marker_info *marker_get_info_from_name(LttTrace *trace,
GQuark name)
{
- return g_hash_table_lookup(trace->markers_hash, (gconstpointer)name);
+ gpointer orig_key, value;
+ int res;
+
+ res = g_hash_table_lookup_extended(trace->markers_hash,
+ (gconstpointer)(gulong)name, &orig_key, &value);
+ if (!res)
+ return NULL;
+ return marker_get_info_from_id(trace, (guint16)(gulong)value);
+}
+
+static inline char *marker_get_format_from_name(LttTrace *trace,
+ GQuark name)
+{
+ gpointer orig_key, value;
+ int res;
+
+ res = g_hash_table_lookup_extended(trace->markers_format_hash,
+ (gconstpointer)(gulong)name, &orig_key, &value);
+ if (!res)
+ return NULL;
+ return (char *)value;
}
static inline struct marker_field *marker_get_field(struct marker_info *info,