From c02e79d8686ec9c857e6e3d56a067cc8db7c682b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Jan 2015 11:04:53 +0000 Subject: cleanup: avoid shadowing rb_ary_subseq Define a MY_ARY_SUBSEQ macro which checks arg counts correctly and avoids throwing off people who may potentially want to debug this code. --- ext/kgio/writev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ext/kgio/writev.c b/ext/kgio/writev.c index 9c1ca15..027cdb5 100644 --- a/ext/kgio/writev.c +++ b/ext/kgio/writev.c @@ -27,7 +27,9 @@ static inline VALUE my_ary_subseq(VALUE ary, long idx, long len) return rb_ary_aref(2, args, ary); } -#define rb_ary_subseq my_ary_subseq +#define MY_ARY_SUBSEQ(ary,idx,len) my_ary_subseq((ary),(idx),(len)) +#else +#define MY_ARY_SUBSEQ(ary,idx,len) rb_ary_subseq((ary),(idx),(len)) #endif static VALUE sym_wait_writable; @@ -105,7 +107,7 @@ static void prepare_writev(struct wrv_args *a, VALUE io, VALUE ary) if (TYPE(ary) == T_ARRAY) /* rb_ary_subseq will not copy array unless it modified */ - a->buf = rb_ary_subseq(ary, 0, RARRAY_LEN(ary)); + a->buf = MY_ARY_SUBSEQ(ary, 0, RARRAY_LEN(ary)); else a->buf = rb_Array(ary); @@ -188,7 +190,7 @@ static long trim_writev_buffer(struct wrv_args *a, ssize_t n) /* partially done, remove fully-written buffers */ if (i > 0) - a->buf = rb_ary_subseq(a->buf, i, ary_len - i); + a->buf = MY_ARY_SUBSEQ(a->buf, i, ary_len - i); /* setup+replace partially written buffer */ if (n < 0) { -- cgit v1.2.3-24-ge0c7