mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* variable.c (rb_path2class): get rid of dangling pointer caused by
optimized out value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@13146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e78da7081c
commit
ae2d632c66
3 changed files with 14 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
Wed Aug 22 08:52:02 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* variable.c (rb_path2class): get rid of dangling pointer caused by
|
||||
optimized out value.
|
||||
|
||||
Wed Aug 22 08:51:20 2007 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* ext/dl/lib/dl/win32.rb: seems that dl doesn't accept void argument.
|
||||
|
|
11
variable.c
11
variable.c
|
@ -241,16 +241,21 @@ rb_path2class(path)
|
|||
const char *pbeg, *p;
|
||||
ID id;
|
||||
VALUE c = rb_cObject;
|
||||
VALUE str = 0;
|
||||
|
||||
if (path[0] == '#') {
|
||||
rb_raise(rb_eArgError, "can't retrieve anonymous class %s", path);
|
||||
}
|
||||
pbeg = p = path;
|
||||
while (*p) {
|
||||
VALUE str;
|
||||
|
||||
while (*p && *p != ':') p++;
|
||||
str = rb_str_new(pbeg, p-pbeg);
|
||||
if (str) {
|
||||
RSTRING(str)->len = 0;
|
||||
rb_str_cat(str, pbeg, p-pbeg);
|
||||
}
|
||||
else {
|
||||
str = rb_str_new(pbeg, p-pbeg);
|
||||
}
|
||||
id = rb_intern(RSTRING(str)->ptr);
|
||||
if (p[0] == ':') {
|
||||
if (p[1] != ':') goto undefined_class;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define RUBY_RELEASE_DATE "2007-08-22"
|
||||
#define RUBY_VERSION_CODE 186
|
||||
#define RUBY_RELEASE_CODE 20070822
|
||||
#define RUBY_PATCHLEVEL 47
|
||||
#define RUBY_PATCHLEVEL 48
|
||||
|
||||
#define RUBY_VERSION_MAJOR 1
|
||||
#define RUBY_VERSION_MINOR 8
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue