[Github-comments] [geany/geany] New tagmanager query module (#1187)

Thomas Martitz notifications at xxxxx
Tue Aug 23 07:08:08 UTC 2016


> +
> +		if (match && q->type >= 0)
> +			match = tag->type & q->type;
> +
> +		/* Remove tag from the results. tags are unowned so removing is easy */
> +		if (!match)
> +			g_queue_unlink(&res, node);
> +	}
> +
> +	/* Convert GQueue to GPtrArray for sort, dedup and return */
> +	i = 0;
> +	ret = g_ptr_array_sized_new(g_queue_get_length(&res));
> +	foreach_list(node, res.head)
> +	{
> +		tag = (TMTag *) node->data;
> +		g_ptr_array_insert(ret, i++, tag);

I thought of g_ptr_array_insert() as a more beatiful way of saying `ret->pdata[i++] = tag`. If that's too recent (sorry, I wasn't aware) I'll use the plan C code. g_ptr_array_add() would just traverse the whole array again and again so it's not the best tool for the job either.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1187/files/386006313a0b78c614bd1ac522ac121e093df58d#r75812256
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20160823/0d90aa3a/attachment.html>


More information about the Github-comments mailing list