summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib.c b/lib.c
index cc7c389d..5babae42 100644
--- a/lib.c
+++ b/lib.c
@@ -4685,9 +4685,8 @@ val equal(val left, val right)
break;
case BUF:
if (type(right) == BUF) {
- cnum ll = c_num(left->b.len, self);
- cnum rl = c_num(right->b.len, self);
- if (ll == rl && memcmp(left->b.data, right->b.data, ll) == 0)
+ if (left->b.len == right->b.len &&
+ memcmp(left->b.data, right->b.data, left->b.len) == 0)
return t;
}
break;
@@ -7231,12 +7230,10 @@ tail:
}
case BUF:
{
- cnum ll = c_num(left->b.len, self);
- cnum rl = c_num(right->b.len, self);
- cnum len = min(ll, rl);
+ ucnum len = min(left->b.len, right->b.len);
int cmp = memcmp(left->b.data, right->b.data, len);
- if (cmp < 0 || (cmp == 0 && ll < rl))
+ if (cmp < 0 || (cmp == 0 && left->b.len < right->b.len))
return t;
return nil;