mirror of
https://github.com/ruby/ruby.git
synced 2026-10-28 16:36:20 +08:00
Use rb_len_t for symbol name lengths
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3b551a4cde
commit
2c00037d72
3 files changed
+16
-16
Notes:
git
2026-10-09 05:02:08 +00:00
No files matched your search
+3
-3
@@ -19,8 +19,8 @@
|
||||
/* symbol.c */
|
||||
void rb_sym_global_symbols_mark_and_move(void);
|
||||
VALUE rb_to_symbol_type(VALUE obj);
|
||||
VALUE rb_sym_intern(const char *ptr, long len, rb_encoding *enc);
|
||||
VALUE rb_sym_intern_ascii(const char *ptr, long len);
|
||||
VALUE rb_sym_intern(const char *ptr, rb_len_t len, rb_encoding *enc);
|
||||
VALUE rb_sym_intern_ascii(const char *ptr, rb_len_t len);
|
||||
VALUE rb_sym_intern_ascii_cstr(const char *ptr);
|
||||
int rb_is_const_name(VALUE name);
|
||||
int rb_is_class_name(VALUE name);
|
||||
@@ -39,7 +39,7 @@ void rb_free_global_symbol_table(void);
|
||||
#if __has_builtin(__builtin_constant_p)
|
||||
#define rb_sym_intern_ascii_cstr(ptr) \
|
||||
(__builtin_constant_p(ptr) ? \
|
||||
rb_sym_intern_ascii((ptr), (long)strlen(ptr)) : \
|
||||
rb_sym_intern_ascii((ptr), (rb_len_t)strlen(ptr)) : \
|
||||
rb_sym_intern_ascii_cstr(ptr))
|
||||
#endif
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
#define STATIC_SYM2ID(sym) RSHIFT((VALUE)(sym), RUBY_SPECIAL_SHIFT)
|
||||
|
||||
static ID register_static_symid(ID, const char *, long, rb_encoding *);
|
||||
static ID register_static_symid(ID, const char *, rb_len_t, rb_encoding *);
|
||||
#define REGISTER_SYMID(id, name) register_static_symid((id), (name), strlen(name), enc)
|
||||
#include "id.c"
|
||||
|
||||
@@ -318,7 +318,7 @@ static int
|
||||
rb_str_symname_type(VALUE name, unsigned int allowed_attrset)
|
||||
{
|
||||
const char *ptr = StringValuePtr(name);
|
||||
long len = RSTRING_LEN(name);
|
||||
rb_len_t len = RSTRING_LEN(name);
|
||||
int type = rb_enc_symname_type(ptr, len, rb_enc_get(name), allowed_attrset);
|
||||
RB_GC_GUARD(name);
|
||||
return type;
|
||||
@@ -661,7 +661,7 @@ rb_enc_symname_p(const char *name, rb_encoding *enc)
|
||||
}
|
||||
|
||||
static int
|
||||
rb_sym_constant_char_p(const char *name, long nlen, rb_encoding *enc)
|
||||
rb_sym_constant_char_p(const char *name, rb_len_t nlen, rb_encoding *enc)
|
||||
{
|
||||
int c, len;
|
||||
const char *end = name + nlen;
|
||||
@@ -699,13 +699,13 @@ rb_sym_constant_char_p(const char *name, long nlen, rb_encoding *enc)
|
||||
struct enc_synmane_type_leading_chars_tag {
|
||||
const enum { invalid, stophere, needmore, } kind;
|
||||
const enum ruby_id_types type;
|
||||
const long nread;
|
||||
const rb_len_t nread;
|
||||
};
|
||||
|
||||
#define t struct enc_synmane_type_leading_chars_tag
|
||||
|
||||
static struct enc_synmane_type_leading_chars_tag
|
||||
enc_synmane_type_leading_chars(const char *name, long len, rb_encoding *enc, int allowed_attrset)
|
||||
enc_synmane_type_leading_chars(const char *name, rb_len_t len, rb_encoding *enc, int allowed_attrset)
|
||||
{
|
||||
const char *m = name;
|
||||
const char *e = m + len;
|
||||
@@ -814,7 +814,7 @@ enc_synmane_type_leading_chars(const char *name, long len, rb_encoding *enc, int
|
||||
#undef t
|
||||
|
||||
int
|
||||
rb_enc_symname_type(const char *name, long len, rb_encoding *enc, unsigned int allowed_attrset)
|
||||
rb_enc_symname_type(const char *name, rb_len_t len, rb_encoding *enc, unsigned int allowed_attrset)
|
||||
{
|
||||
const struct enc_synmane_type_leading_chars_tag f =
|
||||
enc_synmane_type_leading_chars(name, len, enc, allowed_attrset);
|
||||
@@ -926,7 +926,7 @@ rb_id_serial_to_id(rb_id_serial_t num)
|
||||
}
|
||||
|
||||
static ID
|
||||
register_static_symid(ID id, const char *name, long len, rb_encoding *enc)
|
||||
register_static_symid(ID id, const char *name, rb_len_t len, rb_encoding *enc)
|
||||
{
|
||||
VALUE str = rb_enc_str_new(name, len, enc);
|
||||
OBJ_FREEZE(str);
|
||||
@@ -1406,15 +1406,15 @@ rb_check_symbol_cstr(const char *ptr, rb_len_t len, rb_encoding *enc)
|
||||
|
||||
#undef rb_sym_intern_ascii_cstr
|
||||
#ifdef __clang__
|
||||
NOINLINE(VALUE rb_sym_intern(const char *ptr, long len, rb_encoding *enc));
|
||||
NOINLINE(VALUE rb_sym_intern(const char *ptr, rb_len_t len, rb_encoding *enc));
|
||||
#else
|
||||
FUNC_MINIMIZED(VALUE rb_sym_intern(const char *ptr, long len, rb_encoding *enc));
|
||||
FUNC_MINIMIZED(VALUE rb_sym_intern_ascii(const char *ptr, long len));
|
||||
FUNC_MINIMIZED(VALUE rb_sym_intern(const char *ptr, rb_len_t len, rb_encoding *enc));
|
||||
FUNC_MINIMIZED(VALUE rb_sym_intern_ascii(const char *ptr, rb_len_t len));
|
||||
FUNC_MINIMIZED(VALUE rb_sym_intern_ascii_cstr(const char *ptr));
|
||||
#endif
|
||||
|
||||
VALUE
|
||||
rb_sym_intern(const char *ptr, long len, rb_encoding *enc)
|
||||
rb_sym_intern(const char *ptr, rb_len_t len, rb_encoding *enc)
|
||||
{
|
||||
struct RString fake_str = {RBASIC_INIT};
|
||||
const VALUE name = rb_setup_fake_str(&fake_str, ptr, len, enc);
|
||||
@@ -1422,7 +1422,7 @@ rb_sym_intern(const char *ptr, long len, rb_encoding *enc)
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_sym_intern_ascii(const char *ptr, long len)
|
||||
rb_sym_intern_ascii(const char *ptr, rb_len_t len)
|
||||
{
|
||||
return rb_sym_intern(ptr, len, rb_usascii_encoding());
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ is_global_name_punct(const int c)
|
||||
|
||||
RUBY_SYMBOL_EXPORT_BEGIN
|
||||
|
||||
int rb_enc_symname_type(const char *name, long len, rb_encoding *enc, unsigned int allowed_attrset);
|
||||
int rb_enc_symname_type(const char *name, rb_len_t len, rb_encoding *enc, unsigned int allowed_attrset);
|
||||
size_t rb_sym_immortal_count(void);
|
||||
|
||||
RUBY_SYMBOL_EXPORT_END
|
||||
|
||||
Reference in new issue
Block a user