diff options
-rw-r--r-- | buf.c | 16 |
1 files changed, 1 insertions, 15 deletions
@@ -1402,7 +1402,7 @@ val buf_ash(val buf, val bits) ucnum bytes = b / 8; ucnum nlen = len + bytes; - if (nlen < len || nlen >= convert(ucnum, -2)) + if (nlen < len || nlen > convert(ucnum, INT_PTR_MAX)) err_oflow(self); if (r == 0 || nlen == 0) { @@ -1543,9 +1543,6 @@ val buf_and(val bufa, val bufb) return make_buf(ab->len, zero, ab->len); } else if (la < lb) { return buf_and(bufb, bufa); - } else if (la == convert(ucnum, -1)) { - err_oflow(self); - abort(); } else { val obuf = make_ubuf(la); ucnum delta = la - lb; @@ -1573,9 +1570,6 @@ val buf_test(val bufa, val bufb) return nil; } else if (la < lb) { return buf_test(bufb, bufa); - } else if (la == convert(ucnum, -1)) { - err_oflow(self); - abort(); } else { ucnum delta = la - lb; ucnum i; @@ -1603,9 +1597,6 @@ val buf_or(val bufa, val bufb) return bufa; } else if (la < lb) { return buf_or(bufb, bufa); - } else if (la == convert(ucnum, -1)) { - err_oflow(self); - abort(); } else { val obuf = make_ubuf(la); ucnum delta = la - lb; @@ -1635,9 +1626,6 @@ val buf_xor(val bufa, val bufb) return bufa; } else if (la < lb) { return buf_xor(bufb, bufa); - } else if (la == convert(ucnum, -1)) { - err_oflow(self); - abort(); } else { val obuf = make_ubuf(la); ucnum delta = la - lb; @@ -1661,8 +1649,6 @@ val buf_not(val buf) if (l == 0) { return buf; - } else if (l == convert(ucnum, -1)) { - uw_throwf(error_s, lit("~a: array size overflow"), self, nao); } else { val obuf = make_ubuf(l); struct buf *ob = buf_handle(obuf, self); |