[gtk/matthiasc/for-master: 8/15] texttag: Just use qsort
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master: 8/15] texttag: Just use qsort
- Date: Mon, 5 Apr 2021 04:13:47 +0000 (UTC)
commit 5b8bf04035986130e52c3d64afd8112d28e959bd
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Apr 3 23:01:13 2021 -0400
texttag: Just use qsort
No point in trying to optimize this.
gtk/gtktexttag.c | 50 +++-----------------------------------------------
1 file changed, 3 insertions(+), 47 deletions(-)
---
diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c
index f8db984825..0eec046a5d 100644
--- a/gtk/gtktexttag.c
+++ b/gtk/gtktexttag.c
@@ -2410,52 +2410,8 @@ tag_sort_func (gconstpointer first, gconstpointer second)
}
void
-_gtk_text_tag_array_sort (GtkTextTag** tag_array_p,
- guint len)
+_gtk_text_tag_array_sort (GtkTextTag **tag_array_p,
+ guint len)
{
- int i, j, prio;
- GtkTextTag **tag;
- GtkTextTag **maxPtrPtr, *tmp;
-
- g_return_if_fail (tag_array_p != NULL);
- g_return_if_fail (len > 0);
-
- if (len < 2) {
- return;
- }
- if (len < 20) {
- GtkTextTag **iter = tag_array_p;
-
- for (i = len-1; i > 0; i--, iter++) {
- maxPtrPtr = tag = iter;
- prio = tag[0]->priv->priority;
- for (j = i, tag++; j > 0; j--, tag++) {
- if (tag[0]->priv->priority < prio) {
- prio = tag[0]->priv->priority;
- maxPtrPtr = tag;
- }
- }
- tmp = *maxPtrPtr;
- *maxPtrPtr = *iter;
- *iter = tmp;
- }
- } else {
- qsort ((void *) tag_array_p, (unsigned) len, sizeof (GtkTextTag *),
- tag_sort_func);
- }
-
-#if 0
- {
- printf ("Sorted tag array: \n");
- i = 0;
- while (i < len)
- {
- GtkTextTag *t = tag_array_p[i];
- printf (" %s priority %d\n", t->name, t->priority);
-
- ++i;
- }
- }
-#endif
+ qsort (tag_array_p, len, sizeof (GtkTextTag *), tag_sort_func);
}
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]