diff options
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -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; |