summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--README.EXT9
2 files changed, 10 insertions, 1 deletions
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 <usa@ruby-lang.org>
* README.EXT.ja: describe about StringValueCStr().
+ * README.EXT: ditto.
+
Fri Jun 13 14:24:37 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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.