# Symbol as String for C

#1

artone\$B\$G\$9!#e(B

1.9e\$B\$K\$J\$C\$F!“e(BStringe\$B\$NBe\$o\$j\$Ke(BSymbole\$B\$,JV\$k\$h\$&\$KJQ\$o\$C\$?%a%=%C%I\$,\$”\$j\$^e(B
e\$B\$9\$,!JNc!'e(B
Object#methodse\$B!K!"\$G\$-\$l\$P4{B8\$N3HD%%i%\$%V%i%j\$dAH\$9~\$e(BRuby
e\$B\$KBP\$7\$F5
:Q:v\$,M
\$7\$\$\$G\$9!#e(B
e\$B6qBNE*\$K\$O!"e(BStringValuPtre\$B\$de(BStringValueCStre\$B%^%/%m\$KBP\$7\$Fe(BSymbole\$B\$Ne(BVALUEe\$B\$re(B
e\$BM?\$(\$?>l9g\$K!"e(BStringe\$B\$Ne(BVALUEe\$B\$rM?\$(\$?>l9g\$HF1MM\$K?6\$kIq\$C\$FM_\$7\$\$\$G\$9!#e(B
e\$B3N\$+!"e(BStringValuePtre\$BEy\$N%^%/%m\$O!“e(B1.6e\$B\$+\$ie(B1.8(1.7)e\$B\$X\$N0\9T;~\$K!“e(Bchar*e\$B<hF@e(B
e\$BJ}K!\$H\$7\$Fe(BCe\$B%W%m%0%i%`\$KBP\$7\$FM?\$(\$i\$l\$?\$H5-21\$7\$F\$\$\$k\$+\$i\$G\$9!#e(B
e\$B\$7\$+\$7!”\$3\$l\$i\$N%^%/%m\$KBP\$7\$Fe(BSymbole\$B\$rM?\$(\$k\$H8=;~E@\$G\$O!“e(BSymbol#to_str
e\$B\$OL\$Dj5A\$J\$N\$Ge(Brb_str_to_stre\$B7PM3\$Ge(BTypeErrore\$B\$K\$J\$j\$^\$9!#e(B
Symbol#to_stre\$B\$r<BAu\$9\$k\$+!”\$”\$k\$\$\$O!"e(Brb_string_valuee\$B\$Ge(BSymbole\$B\$re(BStringe\$BF1MMe(B
e\$B\$KFCJL07\$\$\$7\$F\$\$\$?\$@\$1\$k\$H=u\$+\$j\$^\$9!#e(B

*** string.c.org Mon Feb 02 23:46:37 2009
— string.c Mon Feb 02 23:49:34 2009
*************** rb_string_value(volatile VALUE *ptr)
*** 1236,1242 ****
{
VALUE s = *ptr;
if (TYPE(s) != T_STRING) {
! s = rb_str_to_str(s);
*ptr = s;
}
return s;
— 1236,1247 ----
{
VALUE s = *ptr;
if (TYPE(s) != T_STRING) {
! if (SYMBOL_P(s)) {
! s = rb_sym_to_s(s);
! }
! else {
! s = rb_str_to_str(s);
! }
*ptr = s;
}
return s;