about summary refs log tree commit diff
path: root/Src/sort.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-04-15 21:42:42 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-04-15 21:42:42 +0000
commit7bb711a3d66730807bd54b78d5a848aef3c666c5 (patch)
treec92955c57faad5f3612990f5a2493461a9018912 /Src/sort.c
parentf368975eff8ac71f8207db41f8e0e442bfdf644a (diff)
downloadzsh-7bb711a3d66730807bd54b78d5a848aef3c666c5.tar.gz
zsh-7bb711a3d66730807bd54b78d5a848aef3c666c5.tar.xz
zsh-7bb711a3d66730807bd54b78d5a848aef3c666c5.zip
23278: fix NUMERICGLOBSORT, broken by multibyte fixes
Diffstat (limited to 'Src/sort.c')
-rw-r--r--Src/sort.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/sort.c b/Src/sort.c
index f312150df..e88cc2cea 100644
--- a/Src/sort.c
+++ b/Src/sort.c
@@ -42,8 +42,8 @@ eltpcmp(const void *a, const void *b)
 {
     const SortElt ae = *(const SortElt *)a;
     const SortElt be = *(const SortElt *)b;
-    const char *as = ae->cmp;
-    const char *bs = be->cmp;
+    const char *as = ae->cmp, *bs = be->cmp;
+    const char *ao = as;
     int cmp;
 
     if (ae->len != -1 || be->len != -1) {
@@ -122,7 +122,7 @@ eltpcmp(const void *a, const void *b)
 	cmp = (int)STOUC(*as) - (int)STOUC(*bs);
 #endif
 	if (idigit(*as) || idigit(*bs)) {
-	    for (; as > *(char **)a && idigit(as[-1]); as--, bs--);
+	    for (; as > ao && idigit(as[-1]); as--, bs--);
 	    if (idigit(*as) && idigit(*bs)) {
 		while (*as == '0')
 		    as++;