summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2015-11-24 16:03:58 +0900
committerTomoyuki Sahara <[email protected]>2015-11-24 16:03:58 +0900
commit90b7ec88dc9a1a86bca2b7851e2fa4addd660831 (patch)
treeec123cb206fa20ed998a66bd9e2834db8623b92e
parent625a3fee7729a12b0ff613e80b7b45ba0e2f086b (diff)
downloadmruby-90b7ec88dc9a1a86bca2b7851e2fa4addd660831.tar.gz
mruby-90b7ec88dc9a1a86bca2b7851e2fa4addd660831.zip
YARD doc for mrb_str_to_cstr.
-rw-r--r--include/mruby/string.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/mruby/string.h b/include/mruby/string.h
index c049a72c7..6e4a73c19 100644
--- a/include/mruby/string.h
+++ b/include/mruby/string.h
@@ -175,7 +175,19 @@ MRB_API mrb_value mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2);
MRB_API int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2);
/*
- * Returns a C string from a Ruby string.
+ * Returns a newly allocated C string from a Ruby string.
+ * This is an utility function to pass a Ruby string to C library functions.
+ *
+ * - Returned string does not contain any NUL characters (but terminator).
+ * - It raises an ArgumentError exception if Ruby string contains
+ * NUL characters.
+ * - Retured string will be freed automatically on next GC.
+ * - Caller can modify returned string without affecting Ruby string
+ * (e.g. it can be used for mkstemp(3)).
+ *
+ * @param [mrb_state *] mrb The current mruby state.
+ * @param [mrb_value] str Ruby string. Must be an instance of String.
+ * @return [char *] A newly allocated C string.
*/
MRB_API char *mrb_str_to_cstr(mrb_state *mrb, mrb_value str);