- GPtrArray *ret;
- sort_options.sort_attrs = NULL;
- /* tags_array isn not needed by tm_tag_compare(), but for tm_search_cmp() */
- sort_options.tags_array = NULL;
- sort_options.first = TRUE;
- foreach_ptr_array(s, i, q->names)
- {
TMTag **ptag;
sort_options.cmp_len = s->len;
if (q->data_sources & TM_QUERY_SOURCE_GLOBAL_TAGS)
{
tags = tm_tags_find(q->workspace->global_tags, s->str, s->len, &ntags);
foreach_c_array(ptag, tags, ntags)
g_queue_insert_sorted(&res, *ptag, tag_compare_ptr, &sort_options);
I want to have them sorted when no explicit sorting is given, see the doc comment. This is to preserve the semantics of the existing, global tag arrays. E.g. some tag manager functions expect a sorted TMTag array so the result can be used OOTB.
Sorting by tag name is almost always wanted anyway.