Module Name: src Committed By: rillig Date: Sun Aug 2 19:11:57 UTC 2020
Modified Files: src/usr.bin/make: var.c Log Message: make(1): move qsort helper functions closer to ApplyModifier_Order To generate a diff of this commit: cvs rdiff -u -r1.403 -r1.404 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.403 src/usr.bin/make/var.c:1.404 --- src/usr.bin/make/var.c:1.403 Sun Aug 2 19:08:54 2020 +++ src/usr.bin/make/var.c Sun Aug 2 19:11:57 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.403 2020/08/02 19:08:54 rillig Exp $ */ +/* $NetBSD: var.c,v 1.404 2020/08/02 19:11:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.403 2020/08/02 19:08:54 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.404 2020/08/02 19:11:57 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.403 2020/08/02 19:08:54 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.404 2020/08/02 19:11:57 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1560,18 +1560,6 @@ ModifyWords(GNode *ctx, Byte sep, Boolea } -static int -VarWordCompare(const void *a, const void *b) -{ - return strcmp(*(const char * const *)a, *(const char * const *)b); -} - -static int -VarWordCompareReverse(const void *a, const void *b) -{ - return strcmp(*(const char * const *)b, *(const char * const *)a); -} - static char * WordList_JoinFree(char **av, int ac, char *as) { @@ -2563,6 +2551,18 @@ bad_modifier: return AMR_BAD; } +static int +str_cmp_asc(const void *a, const void *b) +{ + return strcmp(*(const char * const *)a, *(const char * const *)b); +} + +static int +str_cmp_desc(const void *a, const void *b) +{ + return strcmp(*(const char * const *)b, *(const char * const *)a); +} + /* :O (order ascending) or :Or (order descending) or :Ox (shuffle) */ static ApplyModifierResult ApplyModifier_Order(const char *mod, ApplyModifiersState *st) @@ -2575,7 +2575,7 @@ ApplyModifier_Order(const char *mod, App if (mod[1] == st->endc || mod[1] == ':') { /* :O sorts ascending */ - qsort(av, ac, sizeof(char *), VarWordCompare); + qsort(av, ac, sizeof(char *), str_cmp_asc); } else if ((mod[1] == 'r' || mod[1] == 'x') && (mod[2] == st->endc || mod[2] == ':')) { @@ -2583,7 +2583,7 @@ ApplyModifier_Order(const char *mod, App if (mod[1] == 'r') { /* :Or sorts descending */ - qsort(av, ac, sizeof(char *), VarWordCompareReverse); + qsort(av, ac, sizeof(char *), str_cmp_desc); } else { /* :Ox shuffles