From 26f26890aae734fba47ae06903da8692e874249a Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 13 Jun 2008 05:56:51 +0000 Subject: * README.EXT: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- README.EXT | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'README.EXT') diff --git a/README.EXT b/README.EXT index f93f82997e..daf67a5038 100644 --- a/README.EXT +++ b/README.EXT @@ -31,7 +31,7 @@ The Ruby interpreter has the following data types: T_STRING string T_REGEXP regular expression T_ARRAY array - T_FIXNUM Fixnum(31bit integer) + T_FIXNUM Fixnum(31bit or 63bit integer) T_HASH associative array T_STRUCT (Ruby) structure T_BIGNUM multi precision integer @@ -106,6 +106,13 @@ representation of var. These macros will skip the replacement if var is a String. Notice that the macros take only the lvalue as their argument, to change the value of var in place. +You can also use the macro named StringValueCStr(). This is just +like StringValuePtr(), but always add nul character at the end of +the result. If the result contains nul character, this macro causes +the ArgumentError exception. +StringValuePtr() doesn't gurantee to exist nul at the end of the +result, and the result may contain nul. + In version 1.6 or earlier, STR2CSTR() was used to do the same thing but now it is deprecated in version 1.7, because STR2CSTR() has a risk of a dangling pointer problem in the to_str() implicit conversion. -- cgit v1.2.1