diff options
| -rw-r--r-- | include/mruby.h | 10 | ||||
| -rw-r--r-- | mrbgems/mruby-struct/src/struct.c | 13 | ||||
| -rw-r--r-- | src/class.c | 9 | ||||
| -rw-r--r-- | src/codegen.c | 10 | ||||
| -rw-r--r-- | src/debug.c | 2 | ||||
| -rw-r--r-- | src/dump.c | 8 | ||||
| -rw-r--r-- | src/kernel.c | 4 | ||||
| -rw-r--r-- | src/load.c | 2 | ||||
| -rw-r--r-- | src/parse.y | 6 | ||||
| -rw-r--r-- | src/symbol.c | 30 | ||||
| -rw-r--r-- | src/variable.c | 8 |
11 files changed, 51 insertions, 51 deletions
diff --git a/include/mruby.h b/include/mruby.h index 1acedd161..7bfb8d62a 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -244,15 +244,15 @@ mrb_value mrb_funcall(mrb_state*, mrb_value, const char*, int,...); mrb_value mrb_funcall_argv(mrb_state*, mrb_value, mrb_sym, int, mrb_value*); mrb_value mrb_funcall_with_block(mrb_state*, mrb_value, mrb_sym, int, mrb_value*, mrb_value); mrb_sym mrb_intern_cstr(mrb_state*,const char*); -mrb_sym mrb_intern(mrb_state*,const char*,size_t); -mrb_sym mrb_intern_static(mrb_state*,const char*,size_t); -#define mrb_intern_lit(mrb, lit) mrb_intern_static(mrb, lit, mrb_strlen_lit(lit)) +mrb_sym mrb_intern(mrb_state*,const char*,mrb_int); +mrb_sym mrb_intern_static(mrb_state*,const char*,mrb_int); +#define mrb_intern_lit(mrb, lit) mrb_intern_static(mrb, lit, (mrb_int)mrb_strlen_lit(lit)) mrb_sym mrb_intern_str(mrb_state*,mrb_value); mrb_value mrb_check_intern_cstr(mrb_state*,const char*); -mrb_value mrb_check_intern(mrb_state*,const char*,size_t); +mrb_value mrb_check_intern(mrb_state*,const char*,mrb_int); mrb_value mrb_check_intern_str(mrb_state*,mrb_value); const char *mrb_sym2name(mrb_state*,mrb_sym); -const char *mrb_sym2name_len(mrb_state*,mrb_sym,size_t*); +const char *mrb_sym2name_len(mrb_state*,mrb_sym,mrb_int*); mrb_value mrb_sym2str(mrb_state*,mrb_sym); void *mrb_malloc(mrb_state*, size_t); /* raise RuntimeError if no mem */ diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 646414f0c..34db4c40f 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -166,12 +166,12 @@ mrb_id_attrset(mrb_state *mrb, mrb_sym id) { const char *name; char *buf; - size_t len; + mrb_int len; mrb_sym mid; name = mrb_sym2name_len(mrb, id, &len); - buf = (char *)mrb_malloc(mrb, len+2); - memcpy(buf, name, len); + buf = (char *)mrb_malloc(mrb, (size_t)len+2); + memcpy(buf, name, (size_t)len); buf[len] = '='; buf[len+1] = '\0'; @@ -185,12 +185,13 @@ mrb_struct_set(mrb_state *mrb, mrb_value obj, mrb_value val) { const char *name; size_t i, len; + mrb_int slen; mrb_sym mid; mrb_value members, slot, *ptr, *ptr_members; /* get base id */ - name = mrb_sym2name_len(mrb, mrb->c->ci->mid, &len); - mid = mrb_intern(mrb, name, len-1); /* omit last "=" */ + name = mrb_sym2name_len(mrb, mrb->c->ci->mid, &slen); + mid = mrb_intern(mrb, name, slen-1); /* omit last "=" */ members = mrb_struct_members(mrb, obj); ptr_members = RARRAY_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; - size_t len; + mrb_int len; name = mrb_sym2name_len(mrb, id, &len); mrb_str_append(mrb, str, mrb_str_new(mrb, name, len)); diff --git a/src/class.c b/src/class.c index 72e96ece8..1a55009e4 100644 --- a/src/class.c +++ b/src/class.c @@ -1258,7 +1258,7 @@ mrb_class_path(mrb_state *mrb, struct RClass *c) { mrb_value path; const char *name; - size_t len; + mrb_int len; mrb_sym classpath = mrb_intern_lit(mrb, "__classpath__"); path = mrb_obj_iv_get(mrb, (struct RObject*)c, classpath); @@ -1545,7 +1545,7 @@ static void check_cv_name_sym(mrb_state *mrb, mrb_sym id) { const char *s; - size_t len; + mrb_int len; s = mrb_sym2name_len(mrb, id, &len); if (len < 3 || !(s[0] == '@' && s[1] == '@')) { @@ -1557,7 +1557,8 @@ static void check_cv_name_str(mrb_state *mrb, mrb_value str) { const char *s = RSTRING_PTR(str); - size_t const len = RSTRING_LEN(str); + mrb_int len = RSTRING_LEN(str); + if (len < 3 || !(s[0] == '@' && s[1] == '@')) { mrb_name_error(mrb, mrb_intern_str(mrb, str), "`%S' is not allowed as a class variable name", str); } @@ -1817,7 +1818,7 @@ static void check_const_name_sym(mrb_state *mrb, mrb_sym id) { const char *s; - size_t len; + mrb_int len; s = mrb_sym2name_len(mrb, id, &len); if (len < 1 || !ISUPPER(*s)) { diff --git a/src/codegen.c b/src/codegen.c index 064aa8ec9..60da17f2b 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -707,16 +707,16 @@ static mrb_sym attrsym(codegen_scope *s, mrb_sym a) { const char *name; - size_t len; + mrb_int len; char *name2; name = mrb_sym2name_len(s->mrb, a, &len); name2 = (char *)codegen_palloc(s, - len + (size_t)len + 1 /* '=' */ + 1 /* '\0' */ ); - memcpy(name2, name, len); + memcpy(name2, name, (size_t)len); name2[len] = '='; name2[len+1] = '\0'; @@ -817,7 +817,7 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val) } pop_n(n+1); { - size_t len; + mrb_int len; const char *name = mrb_sym2name_len(s->mrb, sym, &len); if (!noop && len == 1 && name[0] == '+') { @@ -1592,7 +1592,7 @@ codegen(codegen_scope *s, node *tree, int val) case NODE_OP_ASGN: { mrb_sym sym = sym(tree->cdr->car); - size_t len; + mrb_int len; const char *name = mrb_sym2name_len(s->mrb, sym, &len); int idx; diff --git a/src/debug.c b/src/debug.c index 1a3dc275d..ae7705610 100644 --- a/src/debug.c +++ b/src/debug.c @@ -127,7 +127,7 @@ mrb_debug_info_append_file(mrb_state *mrb, mrb_irep *irep, mrb_irep_debug_info_file *ret; uint32_t file_pc_count; size_t fn_len; - size_t len; + mrb_int len; uint32_t i; if (!irep->debug_info) { return NULL; } diff --git a/src/dump.c b/src/dump.c index 1854f7964..559d26030 100644 --- a/src/dump.c +++ b/src/dump.c @@ -196,7 +196,7 @@ get_syms_block_size(mrb_state *mrb, mrb_irep *irep) { size_t size = 0; uint32_t sym_no; - size_t len; + mrb_int len; size += sizeof(uint32_t); /* slen */ for (sym_no = 0; sym_no < irep->slen; sym_no++) { @@ -221,7 +221,7 @@ write_syms_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf) for (sym_no = 0; sym_no < irep->slen; sym_no++) { if (irep->syms[sym_no] != 0) { - size_t len; + mrb_int len; name = mrb_sym2name_len(mrb, irep->syms[sym_no], &len); @@ -526,7 +526,7 @@ get_filename_table_size(mrb_state *mrb, mrb_irep *irep, mrb_sym **fp, uint16_t * } for (file_i = 0; file_i < di->flen; ++file_i) { mrb_irep_debug_info_file *file; - size_t filename_len; + mrb_int filename_len; size_t i; file = di->files[file_i]; @@ -538,7 +538,7 @@ get_filename_table_size(mrb_state *mrb, mrb_irep *irep, mrb_sym **fp, uint16_t * /* filename */ mrb_sym2name_len(mrb, file->filename_sym, &filename_len); - size += sizeof(uint16_t) + filename_len; + size += sizeof(uint16_t) + (size_t)filename_len; } for (i=0; i<irep->rlen; i++) { size += get_filename_table_size(mrb, irep->reps[i], fp, lp); diff --git a/src/kernel.c b/src/kernel.c index 45cc299d2..62b8745a7 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -530,7 +530,7 @@ obj_is_instance_of(mrb_state *mrb, mrb_value self) } static void -valid_iv_name(mrb_state *mrb, mrb_sym iv_name_id, const char* s, size_t len) +valid_iv_name(mrb_state *mrb, mrb_sym iv_name_id, const char* s, mrb_int len) { if (len < 2 || !(s[0] == '@' && s[1] != '@')) { mrb_name_error(mrb, iv_name_id, "`%S' is not allowed as an instance variable name", mrb_sym2str(mrb, iv_name_id)); @@ -541,7 +541,7 @@ static void check_iv_name(mrb_state *mrb, mrb_sym iv_name_id) { const char *s; - size_t len; + mrb_int len; s = mrb_sym2name_len(mrb, iv_name_id, &len); valid_iv_name(mrb, iv_name_id, s, len); diff --git a/src/load.c b/src/load.c index 5762cf2a2..badd76a1c 100644 --- a/src/load.c +++ b/src/load.c @@ -300,7 +300,7 @@ read_debug_record(mrb_state *mrb, const uint8_t *start, mrb_irep* irep, size_t * for (f_idx = 0; f_idx < irep->debug_info->flen; ++f_idx) { mrb_irep_debug_info_file *file; uint16_t filename_idx; - size_t len; + mrb_int len; file = (mrb_irep_debug_info_file *)mrb_malloc(mrb, sizeof(*file)); irep->debug_info->files[f_idx] = file; diff --git a/src/parse.y b/src/parse.y index c3460555d..52bb06e73 100644 --- a/src/parse.y +++ b/src/parse.y @@ -5308,12 +5308,11 @@ void mrb_parser_set_filename(struct mrb_parser_state *p, const char *f) { mrb_sym sym; - size_t len; size_t i; mrb_sym* new_table; sym = mrb_intern_cstr(p->mrb, f); - p->filename = mrb_sym2name_len(p->mrb, sym, &len); + p->filename = mrb_sym2name_len(p->mrb, sym, NULL); p->lineno = (p->filename_table_length > 0)? 0 : 1; for(i = 0; i < p->filename_table_length; ++i) { @@ -5336,8 +5335,7 @@ mrb_parser_set_filename(struct mrb_parser_state *p, const char *f) char const* mrb_parser_get_filename(struct mrb_parser_state* p, uint16_t idx) { if (idx >= p->filename_table_length) { return NULL; } else { - size_t len; - return mrb_sym2name_len(p->mrb, p->filename_table[idx], &len); + return mrb_sym2name_len(p->mrb, p->filename_table[idx], NULL); } } diff --git a/src/symbol.c b/src/symbol.c index 2a7dfa795..deb6155d0 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -35,7 +35,7 @@ KHASH_DECLARE(n2s, symbol_name, mrb_sym, 1) KHASH_DEFINE (n2s, symbol_name, mrb_sym, 1, sym_hash_func, sym_hash_equal) /* ------------------------------------------------------ */ static mrb_sym -sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit) +sym_intern(mrb_state *mrb, const char *name, mrb_int len, mrb_bool lit) { khash_t(n2s) *h = mrb->name2sym; symbol_name sname; @@ -70,13 +70,13 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit) } mrb_sym -mrb_intern(mrb_state *mrb, const char *name, size_t len) +mrb_intern(mrb_state *mrb, const char *name, mrb_int len) { return sym_intern(mrb, name, len, FALSE); } mrb_sym -mrb_intern_static(mrb_state *mrb, const char *name, size_t len) +mrb_intern_static(mrb_state *mrb, const char *name, mrb_int len) { return sym_intern(mrb, name, len, TRUE); } @@ -84,7 +84,7 @@ mrb_intern_static(mrb_state *mrb, const char *name, size_t len) mrb_sym mrb_intern_cstr(mrb_state *mrb, const char *name) { - return mrb_intern(mrb, name, strlen(name)); + return mrb_intern(mrb, name, (mrb_int)strlen(name)); } mrb_sym @@ -94,7 +94,7 @@ mrb_intern_str(mrb_state *mrb, mrb_value str) } mrb_value -mrb_check_intern(mrb_state *mrb, const char *name, size_t len) +mrb_check_intern(mrb_state *mrb, const char *name, mrb_int len) { khash_t(n2s) *h = mrb->name2sym; symbol_name sname = { 0 }; @@ -116,7 +116,7 @@ mrb_check_intern(mrb_state *mrb, const char *name, size_t len) mrb_value mrb_check_intern_cstr(mrb_state *mrb, const char *name) { - return mrb_check_intern(mrb, name, strlen(name)); + return mrb_check_intern(mrb, name, (mrb_int)strlen(name)); } mrb_value @@ -127,7 +127,7 @@ mrb_check_intern_str(mrb_state *mrb, mrb_value str) /* lenp must be a pointer to a size_t variable */ const char* -mrb_sym2name_len(mrb_state *mrb, mrb_sym sym, size_t *lenp) +mrb_sym2name_len(mrb_state *mrb, mrb_sym sym, mrb_int *lenp) { khash_t(n2s) *h = mrb->name2sym; khiter_t k; @@ -137,12 +137,12 @@ mrb_sym2name_len(mrb_state *mrb, mrb_sym sym, size_t *lenp) if (kh_exist(h, k)) { if (kh_value(h, k) == sym) { sname = kh_key(h, k); - *lenp = sname.len; + if (lenp) *lenp = sname.len; return sname.name; } } } - *lenp = 0; + if (lenp) *lenp = 0; return NULL; /* missing */ } @@ -240,7 +240,7 @@ mrb_sym_to_s(mrb_state *mrb, mrb_value sym) { mrb_sym id = mrb_symbol(sym); const char *p; - size_t len; + mrb_int len; p = mrb_sym2name_len(mrb, id, &len); return mrb_str_new_static(mrb, p, len); @@ -392,7 +392,7 @@ sym_inspect(mrb_state *mrb, mrb_value sym) { mrb_value str; const char *name; - size_t len; + mrb_int len; mrb_sym id = mrb_symbol(sym); name = mrb_sym2name_len(mrb, id, &len); @@ -409,7 +409,7 @@ sym_inspect(mrb_state *mrb, mrb_value sym) mrb_value mrb_sym2str(mrb_state *mrb, mrb_sym sym) { - size_t len; + mrb_int len; const char *name = mrb_sym2name_len(mrb, sym, &len); if (!name) return mrb_undef_value(); /* can't happen */ @@ -419,11 +419,11 @@ mrb_sym2str(mrb_state *mrb, mrb_sym sym) const char* mrb_sym2name(mrb_state *mrb, mrb_sym sym) { - size_t len; + mrb_int len; const char *name = mrb_sym2name_len(mrb, sym, &len); if (!name) return NULL; - if (symname_p(name) && strlen(name) == len) { + if (symname_p(name) && strlen(name) == (size_t)len) { return name; } else { @@ -448,7 +448,7 @@ sym_cmp(mrb_state *mrb, mrb_value s1) else { const char *p1, *p2; int retval; - size_t len, len1, len2; + mrb_int len, len1, len2; p1 = mrb_sym2name_len(mrb, sym1, &len1); p2 = mrb_sym2name_len(mrb, sym2, &len2); diff --git a/src/variable.c b/src/variable.c index bfffb727f..8e427829a 100644 --- a/src/variable.c +++ b/src/variable.c @@ -562,7 +562,7 @@ inspect_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) { mrb_value str = *(mrb_value*)p; const char *s; - size_t len; + mrb_int len; mrb_value ins; /* need not to show internal data */ @@ -641,7 +641,7 @@ iv_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) { mrb_value ary; const char* s; - size_t len; + mrb_int len; ary = *(mrb_value*)p; s = mrb_sym2name_len(mrb, sym, &len); @@ -685,7 +685,7 @@ cv_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) { mrb_value ary; const char* s; - size_t len; + mrb_int len; ary = *(mrb_value*)p; s = mrb_sym2name_len(mrb, sym, &len); @@ -949,7 +949,7 @@ const_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) { mrb_value ary; const char* s; - size_t len; + mrb_int len; ary = *(mrb_value*)p; s = mrb_sym2name_len(mrb, sym, &len); |
