From 7afa5526c746c29066eaab38ec06b01f160bfb4a Mon Sep 17 00:00:00 2001 From: normal Date: Wed, 24 Jun 2015 07:17:44 +0000 Subject: string.c (rb_str_justify): use RB_GC_GUARD See doc/extension.rdoc for justification using RB_GC_GUARD instead of volatile. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ string.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 54022f2744..610fa80353 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Jun 24 16:05:42 2015 Eric Wong + + * string.c (rb_str_justify): use RB_GC_GUARD + Wed Jun 24 14:25:17 2015 Koichi Sasada * gc.c (gc_mark_ptr): add a check code for #11244. diff --git a/string.c b/string.c index 1a962153a1..34c77a5054 100644 --- a/string.c +++ b/string.c @@ -7908,7 +7908,7 @@ rb_str_justify(int argc, VALUE *argv, VALUE str, char jflag) char *p; const char *f = " "; long n, size, llen, rlen, llen2 = 0, rlen2 = 0; - volatile VALUE pad; + VALUE pad; int singlebyte = 1, cr; rb_scan_args(argc, argv, "11", &w, &pad); @@ -7985,6 +7985,8 @@ rb_str_justify(int argc, VALUE *argv, VALUE str, char jflag) cr = ENC_CODERANGE_AND(cr, ENC_CODERANGE(pad)); if (cr != ENC_CODERANGE_BROKEN) ENC_CODERANGE_SET(res, cr); + + RB_GC_GUARD(pad); return res; } -- cgit v1.2.3