From: Bryan Duxbury Date: Wed, 11 Aug 2010 18:37:25 +0000 (+0000) Subject: THRIFT-664. rb: Ruby extension fails to build with Ruby 1.9.1 X-Git-Tag: 0.4.0~21 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=09d13c2edff351f00ff1f33eccb43ad54e68df7e;p=common%2Fthrift.git THRIFT-664. rb: Ruby extension fails to build with Ruby 1.9.1 This change takes care of the 1.9 build issues and a few other c-extension niceties. Patch: Rajesh Malepati git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984524 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/rb/ext/compact_protocol.c b/lib/rb/ext/compact_protocol.c index 3caa5001..6c0123dc 100644 --- a/lib/rb/ext/compact_protocol.c +++ b/lib/rb/ext/compact_protocol.c @@ -20,8 +20,8 @@ #include #include #include -#include -#include +#include "constants.h" +#include "struct.h" #include "macros.h" #define LAST_ID(obj) FIX2INT(rb_ary_pop(rb_ivar_get(obj, last_field_id))) @@ -458,7 +458,7 @@ VALUE rb_thrift_compact_proto_read_field_begin(VALUE self) { if (modifier == 0) { // not a delta. look ahead for the zigzag varint field id. - LAST_ID(self); + (void) LAST_ID(self); field_id = read_i16(self); } else { // has a delta. add the delta to the last read field id. diff --git a/lib/rb/ext/struct.c b/lib/rb/ext/struct.c index c2535916..db78efa8 100644 --- a/lib/rb/ext/struct.c +++ b/lib/rb/ext/struct.c @@ -17,8 +17,8 @@ * under the License. */ -#include -#include +#include "struct.h" +#include "constants.h" #include "macros.h" #ifndef HAVE_STRLCPY @@ -40,7 +40,12 @@ strlcpy (char *dst, const char *src, size_t dst_sz) *(dst - 1) = '\0'; return n + strlen (src); } - +#else +/* + Ruby 1.9.x includes the OpenBSD implementation of strlcpy. + See missing/strlcpy.c in Ruby 1.9 source + */ +extern size_t strlcpy(char *, const char *, size_t); #endif VALUE thrift_union_class;