diff --git a/lib/rb/ext/compact_protocol.c b/lib/rb/ext/compact_protocol.c index 3caa50014..6c0123dcb 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 c2535916b..db78efa87 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;