aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/sort
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2019-04-04 20:27:13 +0000
committerConrad Meyer <cem@FreeBSD.org>2019-04-04 20:27:13 +0000
commite667e2a4808ce5eb58cde143da560cf358083abf (patch)
tree24f54334a66e211559b71d753a90d6a328983099 /usr.bin/sort
parentfea616de3e2351b008a8bbb669889ce0da4cf481 (diff)
downloadsrc-e667e2a4808ce5eb58cde143da560cf358083abf.tar.gz
src-e667e2a4808ce5eb58cde143da560cf358083abf.zip
Notes
Diffstat (limited to 'usr.bin/sort')
-rw-r--r--usr.bin/sort/coll.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/usr.bin/sort/coll.c b/usr.bin/sort/coll.c
index 28059d468efb..5b2dc07ec28e 100644
--- a/usr.bin/sort/coll.c
+++ b/usr.bin/sort/coll.c
@@ -991,6 +991,7 @@ randomcoll(struct key_value *kv1, struct key_value *kv2,
struct bwstring *s1, *s2;
MD5_CTX ctx1, ctx2;
char *b1, *b2;
+ int cmp_res;
s1 = kv1->k;
s2 = kv2->k;
@@ -1010,28 +1011,17 @@ randomcoll(struct key_value *kv1, struct key_value *kv2,
MD5Update(&ctx2, bwsrawdata(s2), bwsrawlen(s2));
b1 = MD5End(&ctx1, NULL);
b2 = MD5End(&ctx2, NULL);
- if (b1 == NULL) {
- if (b2 == NULL)
- return (0);
- else {
- sort_free(b2);
- return (-1);
- }
- } else if (b2 == NULL) {
- sort_free(b1);
- return (+1);
- } else {
- int cmp_res;
+ if (b1 == NULL || b2 == NULL)
+ err(2, "MD5End");
- cmp_res = strcmp(b1,b2);
- sort_free(b1);
- sort_free(b2);
+ cmp_res = strcmp(b1,b2);
+ sort_free(b1);
+ sort_free(b2);
- if (!cmp_res)
- cmp_res = bwscoll(s1, s2, 0);
+ if (!cmp_res)
+ cmp_res = bwscoll(s1, s2, 0);
- return (cmp_res);
- }
+ return (cmp_res);
}
/*