From 9dd60f6f138a0f8615a31eff7cb80ea376e5d286 Mon Sep 17 00:00:00 2001
From: Alex Shinn <ashinn@users.noreply.github.com>
Date: Sat, 1 Feb 2014 22:25:41 +0900
Subject: [PATCH] Fixing an off-by-one error in bignum arithmetic-shift.

---
 lib/srfi/33/bit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/srfi/33/bit.c b/lib/srfi/33/bit.c
index 1db002a7..57b54ba4 100644
--- a/lib/srfi/33/bit.c
+++ b/lib/srfi/33/bit.c
@@ -186,7 +186,7 @@ static sexp sexp_arithmetic_shift (sexp ctx, sexp self, sexp_sint_t n, sexp i, s
       } else {
         res = sexp_make_bignum(ctx, len - offset + 1);
         sexp_bignum_sign(res) = sexp_bignum_sign(i);
-        for (j=len-offset, tmp=0; j>=0; j--) {
+        for (j=len-offset-1, tmp=0; j>=0; j--) {
           sexp_bignum_data(res)[j]
             = (sexp_bignum_data(i)[j+offset] >> bit_shift)+ tmp;
           tmp = sexp_bignum_data(i)[j+offset]