diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | class.c | 4 | ||||
-rw-r--r-- | regex.c | 13 | ||||
-rw-r--r-- | string.c | 3 |
4 files changed, 14 insertions, 15 deletions
@@ -4,10 +4,19 @@ Mon Jan 7 12:38:47 2002 Tanaka Akira <akr@m17n.org> fractional_seconds to specify a number of digits of fractional part of the time. +Sat Jan 5 03:07:34 2002 Yukihiro Matsumoto <matz@ruby-lang.org> + + * string.c (rb_str_new2): NULL pointer check added. + Sat Jan 5 00:19:12 2002 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp> * parse.y (yycompile): strdup()'ed twice. +Fri Jan 4 18:29:10 2002 Michal Rokos <m.rokos@sh.cvut.cz> + + * class.c (rb_define_module_under): should locate predefined + module using rb_const_defined_at(). + Fri Jan 4 17:23:49 2002 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp> * misc/ruby-mode.el (ruby-forward-string): forward a string. [new] @@ -246,8 +246,8 @@ rb_define_module_under(outer, name) ID id; id = rb_intern(name); - if (rb_const_defined(outer, id)) { - module = rb_const_get(rb_cObject, id); + if (rb_const_defined_at(outer, id)) { + module = rb_const_get(outer, id); if (TYPE(module) == T_MODULE) return module; rb_raise(rb_eTypeError, "%s::%s is not a module", @@ -2381,19 +2381,6 @@ re_compile_pattern(pattern, size, bufp) if (*laststart == anychar_repeat) { bufp->options |= RE_OPTIMIZE_ANCHOR; } - else if (*laststart == on_failure_jump) { - int mcnt; - - laststart++; - EXTRACT_NUMBER_AND_INCR(mcnt, laststart); - if (*laststart == charset || *laststart == charset_not) { - p0 = laststart; - mcnt = *++p0; - p0 += mcnt+1; - mcnt = EXTRACT_UNSIGNED_AND_INCR(p0); - p0 += 8*mcnt; - } - } } bufp->used = b - bufp->buffer; @@ -54,6 +54,9 @@ VALUE rb_str_new2(ptr) const char *ptr; { + if (!ptr) { + rb_raise(rb_eArgError, "NULL pointer given"); + } return rb_str_new(ptr, strlen(ptr)); } |