mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
use size_t for string length C API
This commit is contained in:
+1
-1
@@ -202,7 +202,7 @@ void *mrb_realloc(mrb_state*, void*, size_t);
|
||||
struct RBasic *mrb_obj_alloc(mrb_state*, enum mrb_vtype, struct RClass*);
|
||||
void *mrb_free(mrb_state*, void*);
|
||||
|
||||
mrb_value mrb_str_new(mrb_state *mrb, const char *p, int len); /* mrb_str_new */
|
||||
mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len);
|
||||
mrb_value mrb_str_new_cstr(mrb_state*, const char*);
|
||||
|
||||
mrb_state* mrb_open(void);
|
||||
|
||||
@@ -46,10 +46,10 @@ mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value);
|
||||
mrb_value mrb_obj_as_string(mrb_state *mrb, mrb_value obj);
|
||||
mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, int len); /* mrb_str_resize */
|
||||
mrb_value mrb_string_value(mrb_state *mrb, mrb_value *ptr); /* StringValue */
|
||||
mrb_value mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, int len);
|
||||
mrb_value mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len);
|
||||
mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str);
|
||||
mrb_value mrb_str_buf_new(mrb_state *mrb, int capa);
|
||||
mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, int len);
|
||||
mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len);
|
||||
|
||||
char *mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr);
|
||||
char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr);
|
||||
|
||||
@@ -166,7 +166,7 @@ mrb_id_attrset(mrb_state *mrb, mrb_sym id)
|
||||
{
|
||||
const char *name;
|
||||
char *buf;
|
||||
int len;
|
||||
size_t len;
|
||||
mrb_sym mid;
|
||||
|
||||
name = mrb_sym2name_len(mrb, id, &len);
|
||||
@@ -184,7 +184,8 @@ static mrb_value
|
||||
mrb_struct_set(mrb_state *mrb, mrb_value obj, mrb_value val)
|
||||
{
|
||||
const char *name;
|
||||
int i, len;
|
||||
int i;
|
||||
size_t len;
|
||||
mrb_sym mid;
|
||||
mrb_value members, slot, *ptr, *ptr_members;
|
||||
|
||||
@@ -471,7 +472,7 @@ inspect_struct(mrb_state *mrb, mrb_value s, int recur)
|
||||
id = mrb_symbol(slot);
|
||||
if (mrb_is_local_id(id) || mrb_is_const_id(id)) {
|
||||
const char *name;
|
||||
int len;
|
||||
size_t len;
|
||||
|
||||
name = mrb_sym2name_len(mrb, id, &len);
|
||||
mrb_str_append(mrb, str, mrb_str_new(mrb, name, len));
|
||||
|
||||
+1
-1
@@ -882,7 +882,7 @@ heredoc_start_sym(parser_state *p, node *beg, mrb_sym sym, enum heredoc_type typ
|
||||
{
|
||||
char *bs = (char*)beg->cdr->car;
|
||||
int allow_indent = (bs[2] == '-');
|
||||
int len;
|
||||
size_t len;
|
||||
const char *s = mrb_sym2name_len(p->mrb, sym, &len);
|
||||
return heredoc_start_sb(p, s, len, type, allow_indent);
|
||||
}
|
||||
|
||||
+6
-17
@@ -167,7 +167,7 @@ mrb_str_buf_new(mrb_state *mrb, int capa)
|
||||
}
|
||||
|
||||
static void
|
||||
str_buf_cat(mrb_state *mrb, struct RString *s, const char *ptr, mrb_int len)
|
||||
str_buf_cat(mrb_state *mrb, struct RString *s, const char *ptr, size_t len)
|
||||
{
|
||||
mrb_int capa;
|
||||
mrb_int total;
|
||||
@@ -202,7 +202,7 @@ str_buf_cat(mrb_state *mrb, struct RString *s, const char *ptr, mrb_int len)
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, mrb_int len)
|
||||
mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len)
|
||||
{
|
||||
if (len == 0) return str;
|
||||
str_buf_cat(mrb, mrb_str_ptr(str), ptr, len);
|
||||
@@ -210,14 +210,10 @@ mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, mrb_int len)
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_str_new(mrb_state *mrb, const char *p, mrb_int len)
|
||||
mrb_str_new(mrb_state *mrb, const char *p, size_t len)
|
||||
{
|
||||
struct RString *s;
|
||||
|
||||
if (len < 0) {
|
||||
len = 0;
|
||||
}
|
||||
|
||||
s = str_new(mrb, p, len);
|
||||
return mrb_obj_value(s);
|
||||
}
|
||||
@@ -237,8 +233,8 @@ mrb_str_new_cstr(mrb_state *mrb, const char *p)
|
||||
|
||||
if (p) {
|
||||
len = strlen(p);
|
||||
if (len > MRB_INT_MAX) {
|
||||
len = MRB_INT_MAX;
|
||||
if ((mrb_int)len < 0) {
|
||||
mrb_raise(mrb, E_ARGUMENT_ERROR, "argument too big");
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -2550,14 +2546,7 @@ mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, mrb_int len)
|
||||
mrb_value
|
||||
mrb_str_cat2(mrb_state *mrb, mrb_value str, const char *ptr)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
len = strlen(ptr);
|
||||
if (len > MRB_INT_MAX) {
|
||||
len = MRB_INT_MAX;
|
||||
}
|
||||
|
||||
return mrb_str_cat(mrb, str, ptr, len);
|
||||
return mrb_str_cat(mrb, str, ptr, strlen(ptr));
|
||||
}
|
||||
|
||||
mrb_value
|
||||
|
||||
Reference in New Issue
Block a user