$NetBSD: patch-cb,v 1.1 2005/11/02 08:56:40 taca Exp $

--- pack.c.orig	2005-02-28 11:45:19.000000000 +0900
+++ pack.c
@@ -351,12 +351,12 @@ num2i32(x)
 # define EXTEND32(x) 
 #else
 /* invariant in modulo 1<<31 */
-# define EXTEND32(x) do {if (!natint) {(x) = (I32)(((1<<31)-1-(x))^~(~0<<31))}} while(0)
+# define EXTEND32(x) do {if (!natint) {(x) = (I32)(((1<<31)-1-(x))^~(~0<<31));}} while(0)
 #endif
 #if SIZEOF_SHORT == SIZE16
 # define EXTEND16(x) 
 #else
-# define EXTEND16(x) do { if (!natint) {(x) = (short)(((1<<15)-1-(x))^~(~0<<15))}} while(0)
+# define EXTEND16(x) do { if (!natint) {(x) = (short)(((1<<15)-1-(x))^~(~0<<15));}} while(0)
 #endif
 
 #ifdef HAVE_LONG_LONG
@@ -2036,7 +2036,7 @@ uv_to_utf8(buf, uv)
     rb_raise(rb_eRangeError, "pack(U): value out of range");
 }
 
-static const long utf8_limits[] = {
+static const unsigned long utf8_limits[] = {
     0x0,			/* 1 */
     0x80,			/* 2 */
     0x800,			/* 3 */
