From df2746311fea92e2d9175a8b71f0f190c0f36244 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 7 Oct 2005 03:04:03 +0000 Subject: [PATCH] Fix sorting of 0 sequences in filenames --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-12 | 5 +++++ glib/gunicollate.c | 12 +++++++++++- 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0533ede..a459357 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-10-06 Matthias Clasen + + * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle + all-zero sequences correctly. (#317930, Sebastien Bacher) + 2005-10-05 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Doc addition diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 0533ede..a459357 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-10-06 Matthias Clasen + + * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle + all-zero sequences correctly. (#317930, Sebastien Bacher) + 2005-10-05 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Doc addition diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 0533ede..a459357 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,8 @@ +2005-10-06 Matthias Clasen + + * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle + all-zero sequences correctly. (#317930, Sebastien Bacher) + 2005-10-05 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Doc addition diff --git a/glib/gunicollate.c b/glib/gunicollate.c index 2e66842..b00be88 100644 --- a/glib/gunicollate.c +++ b/glib/gunicollate.c @@ -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'); -- 2.7.4