Fix sorting of 0 sequences in filenames
authorMatthias Clasen <matthiasc@src.gnome.org>
Fri, 7 Oct 2005 03:04:03 +0000 (03:04 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 7 Oct 2005 03:04:03 +0000 (03:04 +0000)
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
glib/gunicollate.c

index 0533ede..a459357 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-10-06  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
+       all-zero sequences correctly.  (#317930, Sebastien Bacher)
+
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gmarkup.c (g_markup_escape_text): Doc addition
index 0533ede..a459357 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-06  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
+       all-zero sequences correctly.  (#317930, Sebastien Bacher)
+
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gmarkup.c (g_markup_escape_text): Doc addition
index 0533ede..a459357 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-06  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
+       all-zero sequences correctly.  (#317930, Sebastien Bacher)
+
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gmarkup.c (g_markup_escape_text): Doc addition
index 2e66842..b00be88 100644 (file)
@@ -415,7 +415,17 @@ g_utf8_collate_key_for_filename (const gchar *str,
              else if (g_ascii_isdigit(*p))
                ++digits;
              else
-               break;
+                {
+                 /* count an all-zero sequence as
+                   * one digit plus leading zeros
+                   */
+                 if (!digits)
+                    {
+                      ++digits;
+                      --leading_zeros;
+                    }        
+                 break;
+                }
            }
          while (*p != '\0');