summaryrefslogtreecommitdiff
path: root/pkgtools/pbulk
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2012-03-19 12:17:15 +0000
committerjoerg <joerg@pkgsrc.org>2012-03-19 12:17:15 +0000
commit32c8d39ca597eba9cb78a81fb767883d72a98142 (patch)
tree93ac709b1eec4c605ad5f692f978c94d374a303e /pkgtools/pbulk
parent6e65c26194f974f245ecc085b9d438ceb89effda (diff)
downloadpkgsrc-32c8d39ca597eba9cb78a81fb767883d72a98142.tar.gz
pbulk-0.45: make order function stable
Diffstat (limited to 'pkgtools/pbulk')
-rw-r--r--pkgtools/pbulk/files/pbulk/lib/match.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgtools/pbulk/files/pbulk/lib/match.c b/pkgtools/pbulk/files/pbulk/lib/match.c
index 8e51707743d..041934c58ed 100644
--- a/pkgtools/pbulk/files/pbulk/lib/match.c
+++ b/pkgtools/pbulk/files/pbulk/lib/match.c
@@ -1,4 +1,4 @@
-/* $NetBSD: match.c,v 1.4 2009/03/06 15:19:04 joerg Exp $ */
+/* $NetBSD: match.c,v 1.5 2012/03/19 12:17:15 joerg Exp $ */
/*
* Copyright © 2002 Alistair G. Crooks. All rights reserved.
@@ -68,8 +68,15 @@ pkg_order(const char *match1, const char *match2)
if (v1 == NULL || v2 == NULL)
errx(1, "Internal error");
+ ++v1;
+ ++v2;
+
if (dewey_cmp(v1, DEWEY_GT, v2))
return match1;
+ else if (dewey_cmp(v2, DEWEY_GT, v1))
+ return match2;
+ else if (strcmp(match1, match2) > 0)
+ return match1;
else
return match2;
}