From 115bbc59f6277c005fe3dbb6d1e192464bb0821d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 15 Feb 2014 21:56:00 +0000 Subject: use RB_GC_GUARD instead of volatile RB_GC_GUARD is more explicit in intent. --- ext/clogger_ext/clogger.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/clogger_ext/clogger.c b/ext/clogger_ext/clogger.c index 8995932..ed01534 100644 --- a/ext/clogger_ext/clogger.c +++ b/ext/clogger_ext/clogger.c @@ -170,7 +170,7 @@ static VALUE byte_xs_str(VALUE from) { static const char esc[] = "0123456789ABCDEF"; unsigned char *new_ptr; - unsigned char *ptr = (unsigned char *)RSTRING_PTR(from); + const unsigned char *ptr = (const unsigned char *)RSTRING_PTR(from); long len = RSTRING_LEN(from); long new_len = len; VALUE rv; @@ -188,7 +188,7 @@ static VALUE byte_xs_str(VALUE from) rv = rb_str_new(NULL, new_len); new_ptr = (unsigned char *)RSTRING_PTR(rv); - ptr = (unsigned char *)RSTRING_PTR(from); + ptr = (const unsigned char *)RSTRING_PTR(from); for (; --len >= 0; ptr++) { unsigned c = *ptr; @@ -867,7 +867,7 @@ static VALUE ccall(struct clogger *c, VALUE env) rb_ary_store(rv, 1, c->headers); } } else { - volatile VALUE tmp = rb_inspect(rv); + VALUE tmp = rb_inspect(rv); c->status = INT2FIX(500); c->headers = c->body = rb_ary_new(); @@ -875,6 +875,7 @@ static VALUE ccall(struct clogger *c, VALUE env) rb_raise(rb_eTypeError, "app response not a 3 element Array: %s", RSTRING_PTR(tmp)); + RB_GC_GUARD(tmp); } return rv; -- cgit v1.2.3-24-ge0c7