Skip to content

Commit dcf3bc3

Browse files
committed
merge revision(s) 17025:
* ext/zlib/zlib.c (rb_deflate_initialize, Init_zlib): Fix up initialize_copy; [ruby-list:45016], [ruby-list:45018]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@17608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent 7c95864 commit dcf3bc3

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
Fri Jun 27 17:38:21 2008 Akinori MUSHA <knu@iDaemons.org>
2+
3+
* ext/zlib/zlib.c (rb_deflate_initialize, Init_zlib): Fix up
4+
initialize_copy; [ruby-list:45016], [ruby-list:45018].
5+
16
Fri Jun 27 17:28:39 2008 NAKAMURA Usaku <usa@ruby-lang.org>
27

38
* io.c (rb_open_file, rb_io_s_sysopen): fmode should be unsigned int.

ext/zlib/zlib.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1182,14 +1182,19 @@ static VALUE
11821182
rb_deflate_init_copy(self, orig)
11831183
VALUE self, orig;
11841184
{
1185-
struct zstream *z1 = get_zstream(self);
1186-
struct zstream *z2 = get_zstream(orig);
1185+
struct zstream *z1, *z2;
11871186
int err;
11881187

1188+
Data_Get_Struct(self, struct zstream, z1);
1189+
z2 = get_zstream(orig);
1190+
11891191
err = deflateCopy(&z1->stream, &z2->stream);
11901192
if (err != Z_OK) {
11911193
raise_zlib_error(err, 0);
11921194
}
1195+
z1->input = NIL_P(z2->input) ? Qnil : rb_str_dup(z2->input);
1196+
z1->buf = NIL_P(z2->buf) ? Qnil : rb_str_dup(z2->buf);
1197+
z1->buf_filled = z2->buf_filled;
11931198
z1->flags = z2->flags;
11941199

11951200
return self;
@@ -3371,7 +3376,7 @@ void Init_zlib()
33713376
rb_define_singleton_method(cDeflate, "deflate", rb_deflate_s_deflate, -1);
33723377
rb_define_alloc_func(cDeflate, rb_deflate_s_allocate);
33733378
rb_define_method(cDeflate, "initialize", rb_deflate_initialize, -1);
3374-
rb_define_method(cDeflate, "initialize_copy", rb_deflate_init_copy, 0);
3379+
rb_define_method(cDeflate, "initialize_copy", rb_deflate_init_copy, 1);
33753380
rb_define_method(cDeflate, "deflate", rb_deflate_deflate, -1);
33763381
rb_define_method(cDeflate, "<<", rb_deflate_addstr, 1);
33773382
rb_define_method(cDeflate, "flush", rb_deflate_flush, -1);

version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define RUBY_RELEASE_DATE "2008-06-27"
33
#define RUBY_VERSION_CODE 186
44
#define RUBY_RELEASE_CODE 20080627
5-
#define RUBY_PATCHLEVEL 235
5+
#define RUBY_PATCHLEVEL 236
66

77
#define RUBY_VERSION_MAJOR 1
88
#define RUBY_VERSION_MINOR 8

0 commit comments

Comments
 (0)