From 26f26890aae734fba47ae06903da8692e874249a Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 13 Jun 2008 05:56:51 +0000 Subject: [PATCH] * README.EXT: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 2 ++ README.EXT | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b8a212a571..579fbafc3a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,8 @@ Fri Jun 13 14:41:26 2008 NAKAMURA Usaku * README.EXT.ja: describe about StringValueCStr(). + * README.EXT: ditto. + Fri Jun 13 14:24:37 2008 Nobuyoshi Nakada * gc.c (rb_memerror): exit with EXIT_FAILURE instead of magic number. 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.