summaryrefslogtreecommitdiff
path: root/pack.c
diff options
context:
space:
mode:
Diffstat (limited to 'pack.c')
-rw-r--r--pack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pack.c b/pack.c
index 33870d28fc..b924c7418d 100644
--- a/pack.c
+++ b/pack.c
@@ -1468,11 +1468,11 @@ pack_unpack(str, fmt)
case 'U':
if (len > send - s) len = send - s;
while (len > 0 && s < send) {
- int alen = len;
+ int alen = send - s;
unsigned long l;
l = utf8_to_uv(s, &alen);
- s += alen; len -= alen;
+ s += alen; len--;
rb_ary_push(ary, rb_uint2inum(l));
}
break;