[前][次][番号順一覧][スレッド一覧]

ruby-changes:72672

From: NAKAMURA <ko1@a...>
Date: Mon, 25 Jul 2022 20:40:03 +0900 (JST)
Subject: [ruby-changes:72672] 9733f4d0f0 (ruby_3_0): merge revision(s) edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d: [Backport #18772]

https://git.ruby-lang.org/ruby.git/commit/?id=9733f4d0f0

From 9733f4d0f00a38b5f77ee2e2fffdff866828cd66 Mon Sep 17 00:00:00 2001
From: NAKAMURA Usaku <usa@r...>
Date: Mon, 25 Jul 2022 20:39:12 +0900
Subject: merge revision(s) edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d: [Backport
 #18772]

	Treat NULL fake string as an empty string

	And the NULL string must be of size 0.
	---
	 string.c | 5 +++++
	 1 file changed, 5 insertions(+)
---
 string.c  | 5 +++++
 version.h | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/string.c b/string.c
index 4d55406dea..8f2a937758 100644
--- a/string.c
+++ b/string.c
@@ -414,6 +414,11 @@ setup_fake_str(struct RString *fake_str, const char *name, long len, int encidx) https://github.com/ruby/ruby/blob/trunk/string.c#L414
     fake_str->basic.flags = T_STRING|RSTRING_NOEMBED|STR_NOFREE|STR_FAKESTR;
     /* SHARED to be allocated by the callback */
 
+    if (!name) {
+	RUBY_ASSERT_ALWAYS(len == 0);
+	name = "";
+    }
+
     ENCODING_SET_INLINED((VALUE)fake_str, encidx);
 
     RBASIC_SET_CLASS_RAW((VALUE)fake_str, rb_cString);
diff --git a/version.h b/version.h
index e52e1bb231..d82d6b687c 100644
--- a/version.h
+++ b/version.h
@@ -12,11 +12,11 @@ https://github.com/ruby/ruby/blob/trunk/version.h#L12
 # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
 #define RUBY_VERSION_TEENY 5
 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 210
+#define RUBY_PATCHLEVEL 211
 
 #define RUBY_RELEASE_YEAR 2022
-#define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 18
+#define RUBY_RELEASE_MONTH 7
+#define RUBY_RELEASE_DAY 25
 
 #include "ruby/version.h"
 
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]