summaryrefslogtreecommitdiff
path: root/re.c
diff options
context:
space:
mode:
Diffstat (limited to 're.c')
-rw-r--r--re.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/re.c b/re.c
index cb0ade9aaf..f977face5c 100644
--- a/re.c
+++ b/re.c
@@ -6,7 +6,7 @@
$Date$
created at: Mon Aug 9 18:24:49 JST 1993
- Copyright (C) 1993-1996 Yukihiro Matsumoto
+ Copyright (C) 1993-1998 Yukihiro Matsumoto
************************************************/
@@ -69,7 +69,7 @@ static char casetable[] = {
>>> "You lose. You will need a translation table for your character set." <<<
#endif
-#define min(a,b) (((a)>(b))?(b):(a))
+#define MIN(a,b) (((a)>(b))?(b):(a))
int
str_cicmp(str1, str2)
@@ -78,7 +78,7 @@ str_cicmp(str1, str2)
int len, i;
char *p1, *p2;
- len = min(RSTRING(str1)->len, RSTRING(str2)->len);
+ len = MIN(RSTRING(str1)->len, RSTRING(str2)->len);
p1 = RSTRING(str1)->ptr; p2 = RSTRING(str2)->ptr;
for (i = 0; i < len; i++, p1++, p2++) {
@@ -570,7 +570,7 @@ match_to_a(match)
int i;
for (i=0; i<regs->num_regs; i++) {
- if (regs->beg[0] == -1) ary_push(ary, Qnil);
+ if (regs->beg[i] == -1) ary_push(ary, Qnil);
else ary_push(ary, str_new(ptr+regs->beg[i],
regs->end[i]-regs->beg[i]));
}
@@ -625,8 +625,8 @@ Regexp *rp;
VALUE cRegexp;
static VALUE
-reg_new_1(class, s, len, flag)
- VALUE class;
+reg_new_1(klass, s, len, flag)
+ VALUE klass;
char *s;
int len;
int flag; /* CASEFOLD = 0x1 */
@@ -635,7 +635,7 @@ reg_new_1(class, s, len, flag)
/* CODE_SJIS = 0x6 */
{
NEWOBJ(re, struct RRegexp);
- OBJSETUP(re, class, T_REGEXP);
+ OBJSETUP(re, klass, T_REGEXP);
if (flag & 0x1) {
FL_SET(re, REG_IGNORECASE);
@@ -929,7 +929,7 @@ reg_regsub(str, src, regs)
if (!val) val = str_new(p, e-p);
else str_cat(val, p, e-p);
}
- if (!val) return (VALUE)str;
+ if (!val) return str;
return val;
}
@@ -969,19 +969,25 @@ reg_prepare_operation(re1, re2)
return flag;
}
-static VALUE
-kcode_getter()
+char*
+rb_get_kcode()
{
switch (reg_kcode) {
case KCODE_SJIS:
- return str_new2("SJIS");
+ return "SJIS";
case KCODE_EUC:
- return str_new2("EUC");
+ return "EUC";
default:
- return str_new2("NONE");
+ return "NONE";
}
}
+static VALUE
+kcode_getter()
+{
+ return str_new2(rb_get_kcode());
+}
+
void
rb_set_kcode(code)
char *code;