Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/mrbgems/mruby-symbol-ext/src/symbol.c

    r331 r439  
    22#include <mruby/khash.h>
    33#include <mruby/array.h>
    4 
    5 typedef struct symbol_name {
    6   size_t len;
    7   const char *name;
    8 } symbol_name;
     4#include <mruby/string.h>
    95
    106/*
     
    2319 *                                     :wait2, :$>]
    2420 */
     21#ifdef MRB_ENABLE_ALL_SYMBOLS
    2522static mrb_value
    2623mrb_sym_all_symbols(mrb_state *mrb, mrb_value self)
     
    3027
    3128  for (i=1, lim=mrb->symidx+1; i<lim; i++) {
    32     mrb_ary_push(mrb, ary, mrb_symbol_value(i));
     29    mrb_sym sym = i<<1;
     30    mrb_ary_push(mrb, ary, mrb_symbol_value(sym));
    3331  }
    3432
    3533  return ary;
    3634}
     35#endif
    3736
    3837/*
     
    4645{
    4746  mrb_int len;
    48   mrb_sym2name_len(mrb, mrb_symbol(self), &len);
     47#ifdef MRB_UTF8_STRING
     48  mrb_int byte_len;
     49  const char *name = mrb_sym_name_len(mrb, mrb_symbol(self), &byte_len);
     50  len = mrb_utf8_strlen(name, byte_len);
     51#else
     52  mrb_sym_name_len(mrb, mrb_symbol(self), &len);
     53#endif
    4954  return mrb_fixnum_value(len);
    5055}
     
    5459{
    5560  struct RClass *s = mrb->symbol_class;
     61#ifdef MRB_ENABLE_ALL_SYMBOLS
    5662  mrb_define_class_method(mrb, s, "all_symbols", mrb_sym_all_symbols, MRB_ARGS_NONE());
     63#endif
    5764  mrb_define_method(mrb, s, "length", mrb_sym_length, MRB_ARGS_NONE());
    5865  mrb_define_method(mrb, s, "size", mrb_sym_length, MRB_ARGS_NONE());
Note: See TracChangeset for help on using the changeset viewer.