Skip to content

Commit

Permalink
* string.c (rb_str_new2): NULL pointer check added.
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
matz committed Jan 7, 2002
1 parent 6a100f3 commit c9f4686
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 21 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,19 @@ Sat Jan 5 13:18:11 2002 Nobuyoshi Nakada <[email protected]>
* range.c (range_member): beginning check was
wrong. [ruby-talk:30252]

Sat Jan 5 03:07:34 2002 Yukihiro Matsumoto <[email protected]>

* string.c (rb_str_new2): NULL pointer check added.

Sat Jan 5 00:19:12 2002 Nobuyoshi Nakada <[email protected]>

* parse.y (yycompile): strdup()'ed twice.

Fri Jan 4 18:29:10 2002 Michal Rokos <[email protected]>

* class.c (rb_define_module_under): should locate predefined
module using rb_const_defined_at().

Fri Jan 4 17:23:49 2002 Nobuyoshi Nakada <[email protected]>

* misc/ruby-mode.el (ruby-forward-string): forward a string. [new]
Expand Down
4 changes: 2 additions & 2 deletions class.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
12 changes: 6 additions & 6 deletions range.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ range_eq(range, obj)
}

static int
r_eq(a,b)
r_eq(a, b)
VALUE a, b;
{
VALUE r;
Expand All @@ -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;
}

Expand All @@ -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;
}

Expand Down
13 changes: 0 additions & 13 deletions regex.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 3 additions & 0 deletions string.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}

Expand Down

0 comments on commit c9f4686

Please sign in to comment.