From 83a01e6f529b80a876508b9501b64e8f1f1414da Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 13 Oct 2018 09:23:56 +0000 Subject: Added comments to rb_setup_fake_str and rb_fstring_new [ci skip] `ptr` for these functions must refer constant string literals. Otherwise, the result string's content can be modified/discarded unexpectedly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/string.c b/string.c index b3dba9c76f..67f4a3c165 100644 --- a/string.c +++ b/string.c @@ -368,12 +368,20 @@ setup_fake_str(struct RString *fake_str, const char *name, long len, int encidx) return (VALUE)fake_str; } +/* + * set up a fake string which refers a static string literal. + */ VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc) { return setup_fake_str(fake_str, name, len, rb_enc_to_index(enc)); } +/* + * rb_fstring_new and rb_fstring_cstr family create or lookup a frozen + * shared string which refers a static string literal. `ptr` must + * point a constant string. + */ MJIT_FUNC_EXPORTED VALUE rb_fstring_new(const char *ptr, long len) { -- cgit v1.2.3