changeset 11471:8557d9d3cace

filevercmp: correct today's change * lib/filevercmp.c: Also handle coreutils' test inputs. * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
author Kamil Dudka <kdudka@redhat.com>
date Thu, 09 Apr 2009 18:07:15 +0200
parents ecb28ce608f1
children 0668470b57a2
files ChangeLog lib/filevercmp.c tests/test-filevercmp.c
diffstat 3 files changed, 33 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
 
+	filevercmp: correct today's change
+	* lib/filevercmp.c: Also handle coreutils' test inputs.
+	* tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
+
 	Fix regression in 'filevercmp' module. Thanks Sven Joachim
 	for reporting it.
 	* lib/filevercmp.c: Special handle for "", "." and "..".
--- a/lib/filevercmp.c
+++ b/lib/filevercmp.c
@@ -149,6 +149,17 @@
   if (0 == strcmp ("..", s2))
     return 1;
 
+  /* special handle for other hidden files */
+  if (*s1 == '.' && *s2 != '.')
+    return -1;
+  if (*s1 != '.' && *s2 == '.')
+    return 1;
+  if (*s1 == '.' && *s2 == '.')
+    {
+      s1++;
+      s2++;
+    }
+
   /* "cut" file suffixes */
   s1_pos = s1;
   s2_pos = s2;
--- a/tests/test-filevercmp.c
+++ b/tests/test-filevercmp.c
@@ -40,10 +40,23 @@
   "",
   ".",
   "..",
+  ".0",
+  ".9",
+  ".A",
+  ".Z",
   ".a~",
   ".a",
   ".b~",
   ".b",
+  ".z",
+  ".zz~",
+  ".zz",
+  ".zz.~1~",
+  ".zz.0",
+  "0",
+  "9",
+  "A",
+  "Z",
   "a~",
   "a",
   "a.b~",
@@ -74,6 +87,11 @@
   "nss_ldap-1.0-0.1a.tar.gz",
   "nss_ldap-10beta1.fc8.tar.gz",
   "nss_ldap-10.11.8.6.20040204cvs.fc10.ebuild",
+  "z",
+  "zz~",
+  "zz",
+  "zz.~1~",
+  "zz.0",
   "#.b#",
   NULL
 };