summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authormattn <[email protected]>2013-02-15 10:22:10 +0900
committermattn <[email protected]>2013-02-15 10:22:10 +0900
commit55ef8c50fb959649c8a37ac2412d59da3d79e5b1 (patch)
tree6c53edcf418745c0f39a5d414efd1bc147cef5bb /src
parent6aee0485fc5fa32b33be4f84fc588a94e3439d6c (diff)
downloadmruby-55ef8c50fb959649c8a37ac2412d59da3d79e5b1.tar.gz
mruby-55ef8c50fb959649c8a37ac2412d59da3d79e5b1.zip
REGEXP_CLASS
Diffstat (limited to 'src')
-rw-r--r--src/re.c4
-rw-r--r--src/re.h16
-rw-r--r--src/string.c11
3 files changed, 8 insertions, 23 deletions
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 <stdio.h>
+#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");
}