summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-01-14 00:41:22 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-01-14 13:46:12 +0900
commit9fa9cf4006b2278ee3de3aa75ab0697c4c119744 (patch)
treec12336f7074129df58c85f4caa8a5fd0cf2139ab
parent6dc4c942a329565b5701dacd3c18764c149be790 (diff)
Suppress possible loss of data warnings
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5435
-rw-r--r--include/ruby/internal/core/rstring.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/ruby/internal/core/rstring.h b/include/ruby/internal/core/rstring.h
index 9f6dc84537..e394ab7dca 100644
--- a/include/ruby/internal/core/rstring.h
+++ b/include/ruby/internal/core/rstring.h
@@ -426,13 +426,14 @@ RSTRING_EMBED_LEN(VALUE str)
RBIMPL_ASSERT_OR_ASSUME(! RB_FL_ANY_RAW(str, RSTRING_NOEMBED));
#if USE_RVARGC
- short f = RSTRING(str)->as.embed.len;
+ long f = RSTRING(str)->as.embed.len;
+ return f;
#else
VALUE f = RBASIC(str)->flags;
f &= RSTRING_EMBED_LEN_MASK;
f >>= RSTRING_EMBED_LEN_SHIFT;
-#endif
return RBIMPL_CAST((long)f);
+#endif
}
RBIMPL_WARNING_PUSH()