From 55ef8c50fb959649c8a37ac2412d59da3d79e5b1 Mon Sep 17 00:00:00 2001 From: mattn Date: Fri, 15 Feb 2013 10:22:10 +0900 Subject: REGEXP_CLASS --- src/re.c | 4 +--- src/re.h | 16 +--------------- src/string.c | 11 ++++++----- 3 files changed, 8 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/re.c b/src/re.c index 7f8f48de8..744732e58 100644 --- a/src/re.c +++ b/src/re.c @@ -38,7 +38,5 @@ void mrb_init_regexp(mrb_state *mrb) { - struct RClass *s; - s = mrb_define_class(mrb, "Regexp", mrb->object_class); - //MRB_SET_INSTANCE_TT(s, MRB_TT_REGEX); + //mrb_define_class(mrb, REGEXP_CLASS, mrb->object_class); } diff --git a/src/re.h b/src/re.h index 5bed5d16c..eafe50dc8 100644 --- a/src/re.h +++ b/src/re.h @@ -13,20 +13,6 @@ #include "node.h" #include "st.h" -/* mattn -struct RMatch { - MRB_OBJECT_HEADER; - struct RString *str; - struct rmatch *rmatch; - struct RRegexp *regexp; -}; - -struct RRegexp { - MRB_OBJECT_HEADER; - struct re_pattern_buffer *ptr; - struct RString *src; - unsigned long usecnt; -}; -*/ +#define REGEXP_CLASS "Regexp" #endif diff --git a/src/string.c b/src/string.c index 98f2fca46..332d79376 100644 --- a/src/string.c +++ b/src/string.c @@ -15,6 +15,7 @@ #include "mruby/array.h" #include "mruby/class.h" #include +#include "re.h" const char mrb_digitmap[] = "0123456789abcdefghijklmnopqrstuvwxyz"; @@ -740,7 +741,7 @@ mrb_str_aref(mrb_state *mrb, mrb_value str, mrb_value indx) { long idx; - if (!strcmp(_obj_classname(mrb, indx), "Regexp")) { + if (!strcmp(_obj_classname(mrb, indx), REGEXP_CLASS)) { mrb_raise(mrb, E_NOTIMP_ERROR, "Regexp Class not implemented"); } switch (mrb_type(indx)) { @@ -836,7 +837,7 @@ mrb_str_aref_m(mrb_state *mrb, mrb_value str) argc = mrb_get_args(mrb, "o|o", &a1, &a2); if (argc == 2) { - if (!strcmp(mrb_obj_classname(mrb, a1), "Regexp")) { + if (!strcmp(mrb_obj_classname(mrb, a1), REGEXP_CLASS)) { mrb_raise(mrb, E_NOTIMP_ERROR, "Regexp Class not implemented"); } return mrb_str_substr(mrb, str, mrb_fixnum(a1), mrb_fixnum(a2)); @@ -1369,7 +1370,7 @@ mrb_str_index_m(mrb_state *mrb, mrb_value str) sub = mrb_nil_value(); } - if (!strcmp(mrb_obj_classname(mrb, sub), "Regexp")) { + if (!strcmp(mrb_obj_classname(mrb, sub), REGEXP_CLASS)) { mrb_raise(mrb, E_NOTIMP_ERROR, "Regexp Class not implemented"); } if (pos < 0) { @@ -1708,7 +1709,7 @@ mrb_str_rindex_m(mrb_state *mrb, mrb_value str) if (pos < 0) { pos += len; if (pos < 0) { - if (!strcmp(mrb_obj_classname(mrb, sub), "Regexp")) { + if (!strcmp(mrb_obj_classname(mrb, sub), REGEXP_CLASS)) { mrb_raise(mrb, E_NOTIMP_ERROR, "Regexp Class not implemented"); } return mrb_nil_value(); @@ -1723,7 +1724,7 @@ mrb_str_rindex_m(mrb_state *mrb, mrb_value str) else sub = mrb_nil_value(); } - if (!strcmp(mrb_obj_classname(mrb, sub), "Regexp")) { + if (!strcmp(mrb_obj_classname(mrb, sub), REGEXP_CLASS)) { mrb_raise(mrb, E_NOTIMP_ERROR, "Regexp Class not implemented"); } -- cgit v1.2.3