aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/sort
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1999-02-13 13:05:04 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1999-02-13 13:05:04 +0000
commita783f14827d6d258a5380624e7b4d1b419021350 (patch)
tree9aeaa95dacffb1b9c7a109c9f79d76a03ad53946 /gnu/usr.bin/sort
parentf1165987f1a7692b2225c68c9408b4c08e6ebc5f (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/sort')
-rw-r--r--gnu/usr.bin/sort/sort.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/gnu/usr.bin/sort/sort.c b/gnu/usr.bin/sort/sort.c
index 1faee4242e94..676215472d7d 100644
--- a/gnu/usr.bin/sort/sort.c
+++ b/gnu/usr.bin/sort/sort.c
@@ -240,21 +240,7 @@ init_collates(void)
}
}
}
-
-static int
-collcmp (const unsigned char *p1, const unsigned char *p2, size_t n)
-{
- int r;
-
- if (n != 0) {
- do {
- if ((r = COLLDIFF (*p1++, *p2++)) != 0)
- return r;
- } while (--n != 0);
- }
- return (0);
-}
-#endif
+#endif /* __FreeBSD__ */
static void
usage (int status)
@@ -1187,7 +1173,7 @@ keycompare (const struct line *a, const struct line *b)
}
else
#ifdef __FreeBSD__
- diff = collcmp (texta, textb, min (lena, lenb));
+ diff = strcoll (texta, textb);
#else
diff = memcmp (texta, textb, min (lena, lenb));
#endif
@@ -1231,21 +1217,21 @@ compare (register const struct line *a, register const struct line *b)
{
char *ap = a->text, *bp = b->text;
-#ifdef __FreeBSD__
- diff = COLLDIFF (*ap, *bp);
-#else
+#ifndef __FreeBSD__
diff = UCHAR (*ap) - UCHAR (*bp);
-#endif
if (diff == 0)
{
+#endif
#ifdef __FreeBSD__
- diff = collcmp (ap, bp, mini);
+ diff = strcoll (ap, bp);
#else
diff = memcmp (ap, bp, mini);
#endif
if (diff == 0)
diff = tmpa - tmpb;
+#ifndef __FreeBSD__
}
+#endif
}
return reverse ? -diff : diff;