mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* struct.c (rb_struct_init_copy): disallow changing the size.
[ruby-dev:31168] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@13164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
83ef7ad253
commit
b60852e199
3 changed files with 10 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
Wed Aug 22 09:55:08 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* struct.c (rb_struct_init_copy): disallow changing the size.
|
||||
[ruby-dev:31168]
|
||||
|
||||
Wed Aug 22 09:54:28 2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
|
||||
|
||||
* random.c: documentation fix. srand(0) initializes PRNG with '0',
|
||||
|
|
7
struct.c
7
struct.c
|
@ -252,7 +252,7 @@ rb_struct_define(name, va_alist)
|
|||
ary = rb_ary_new();
|
||||
|
||||
va_init_list(ar, name);
|
||||
while (mem = va_arg(ar, char*)) {
|
||||
while ((mem = va_arg(ar, char*)) != 0) {
|
||||
ID slot = rb_intern(mem);
|
||||
rb_ary_push(ary, ID2SYM(slot));
|
||||
}
|
||||
|
@ -557,8 +557,9 @@ rb_struct_init_copy(copy, s)
|
|||
if (!rb_obj_is_instance_of(s, rb_obj_class(copy))) {
|
||||
rb_raise(rb_eTypeError, "wrong argument class");
|
||||
}
|
||||
RSTRUCT(copy)->ptr = ALLOC_N(VALUE, RSTRUCT(s)->len);
|
||||
RSTRUCT(copy)->len = RSTRUCT(s)->len;
|
||||
if (RSTRUCT(copy)->len != RSTRUCT(s)->len) {
|
||||
rb_raise(rb_eTypeError, "struct size mismatch");
|
||||
}
|
||||
MEMCPY(RSTRUCT(copy)->ptr, RSTRUCT(s)->ptr, VALUE, RSTRUCT(copy)->len);
|
||||
|
||||
return copy;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define RUBY_RELEASE_DATE "2007-08-22"
|
||||
#define RUBY_VERSION_CODE 186
|
||||
#define RUBY_RELEASE_CODE 20070822
|
||||
#define RUBY_PATCHLEVEL 56
|
||||
#define RUBY_PATCHLEVEL 57
|
||||
|
||||
#define RUBY_VERSION_MAJOR 1
|
||||
#define RUBY_VERSION_MINOR 8
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue