mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* string.c (rb_str_new2): NULL pointer check added.
* class.c (rb_define_module_under): should locate predefined module using rb_const_defined_at(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6a100f3ce4
commit
c9f4686694
5 changed files with 20 additions and 21 deletions
|
@ -9,10 +9,19 @@ Sat Jan 5 13:18:11 2002 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
|
|||
* range.c (range_member): beginning check was
|
||||
wrong. [ruby-talk:30252]
|
||||
|
||||
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]
|
||||
|
|
4
class.c
4
class.c
|
@ -266,8 +266,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",
|
||||
|
|
12
range.c
12
range.c
|
@ -106,7 +106,7 @@ range_eq(range, obj)
|
|||
}
|
||||
|
||||
static int
|
||||
r_eq(a,b)
|
||||
r_eq(a, b)
|
||||
VALUE a, b;
|
||||
{
|
||||
VALUE r;
|
||||
|
@ -119,22 +119,22 @@ r_eq(a,b)
|
|||
}
|
||||
|
||||
static int
|
||||
r_lt(a,b)
|
||||
r_lt(a, b)
|
||||
VALUE a, b;
|
||||
{
|
||||
VALUE r = rb_funcall(a, id_cmp, 1, b);
|
||||
|
||||
if (NUM2LONG(r) < 0) return Qtrue;
|
||||
if (rb_cmpint(r) < 0) return Qtrue;
|
||||
return Qfalse;
|
||||
}
|
||||
|
||||
static int
|
||||
r_le(a,b)
|
||||
r_le(a, b)
|
||||
VALUE a, b;
|
||||
{
|
||||
VALUE r = rb_funcall(a, id_cmp, 1, b);
|
||||
|
||||
if (NUM2LONG(r) <= 0) return Qtrue;
|
||||
if (rb_cmpint(r) <= 0) return Qtrue;
|
||||
return Qfalse;
|
||||
}
|
||||
|
||||
|
@ -144,7 +144,7 @@ r_gt(a,b)
|
|||
{
|
||||
VALUE r = rb_funcall(a, id_cmp, 1, b);
|
||||
|
||||
if (NUM2LONG(r) > 0) return Qtrue;
|
||||
if (rb_cmpint(r) > 0) return Qtrue;
|
||||
return Qfalse;
|
||||
}
|
||||
|
||||
|
|
13
regex.c
13
regex.c
|
@ -2377,19 +2377,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;
|
||||
|
|
3
string.c
3
string.c
|
@ -80,6 +80,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));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue