[glib] Sort extensions properly



commit 4e5532ec51e7091656f2853895cee3dc69f8ad5e
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Sep 3 19:03:34 2010 -0400

    Sort extensions properly
    
    Just taking the difference of the priorities has overflow issues,
    as pointed out in bug 623069.

 gio/giomodule.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gio/giomodule.c b/gio/giomodule.c
index 39a38ff..83f4cc7 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -791,7 +791,13 @@ extension_prio_compare (gconstpointer  a,
 {
   const GIOExtension *extension_a = a, *extension_b = b;
 
-  return extension_b->priority - extension_a->priority;
+  if (extension_a->priority > extension_b->priority)
+    return -1;
+
+  if (extension_b->priority > extension_a->priority)
+    return 1;
+
+  return 0;
 }
 
 /**



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]