diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-15 16:01:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-15 16:01:11 +0000 |
commit | e0ddacfc36bfeeecb0fcf37d3dc21eece522d3b9 (patch) | |
tree | ee112208e1eaa2f443b423e208eab353bf389ae8 | |
parent | 8a92fc97092161be3fc44e58a84976f782fcba98 (diff) |
* ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]
* object.c (rb_obj_id_obsolete): warn always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/syck/rubyext.c | 15 | ||||
-rw-r--r-- | lib/open3.rb | 7 | ||||
-rw-r--r-- | object.c | 2 |
4 files changed, 25 insertions, 7 deletions
@@ -1,3 +1,7 @@ +Thu Dec 16 00:57:30 2004 Yukihiro Matsumoto <[email protected]> + + * ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973] + Thu Dec 16 00:43:29 2004 Masatoshi SEKI <[email protected]> * lib/drb/drb.rb: changed default binded address family to use an @@ -20,6 +24,10 @@ Wed Dec 15 17:47:17 2004 GOTOU Yuuzou <[email protected]> * lib/webrick/config.rb (WEBrick::Config::FileHandler): default value of :NondisclosureName is [".ht*", "*~"]. +Wed Dec 15 16:10:23 2004 Yukihiro Matsumoto <[email protected]> + + * object.c (rb_obj_id_obsolete): warn always. + Wed Dec 15 15:31:02 2004 Yukihiro Matsumoto <[email protected]> * lib/set.rb (Set#==): [ruby-dev:25206] diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index c54deea618..cd813132c2 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -138,6 +138,7 @@ rb_syck_io_str_read( char *buf, SyckIoStr *str, long max_size, long skip ) VALUE str2 = rb_funcall2(src, s_read, 1, &n); if (!NIL_P(str2)) { + StringValue(str2); len = RSTRING(str2)->len; memcpy( buf + skip, RSTRING(str2)->ptr, len ); } @@ -821,9 +822,11 @@ syck_parser_bufsize_set( self, size ) { SyckParser *parser; - Data_Get_Struct(self, SyckParser, parser); if ( rb_respond_to( size, s_to_i ) ) { - parser->bufsize = NUM2INT(rb_funcall(size, s_to_i, 0)); + int size = NUM2INT(rb_funcall(size, s_to_i, 0)); + + Data_Get_Struct(self, SyckParser, parser); + parser->bufsize = size; } return self; } @@ -856,10 +859,10 @@ syck_parser_load(argc, argv, self) volatile VALUE hash; /* protect from GC */ rb_scan_args(argc, argv, "11", &port, &proc); - Data_Get_Struct(self, SyckParser, parser); input = rb_hash_aref( rb_attr_get( self, s_options ), sym_input ); model = rb_hash_aref( rb_attr_get( self, s_options ), sym_model ); + Data_Get_Struct(self, SyckParser, parser); syck_set_model( parser, input, model ); bonus.taint = syck_parser_assign_io(parser, port); @@ -887,10 +890,10 @@ syck_parser_load_documents(argc, argv, self) volatile VALUE hash; rb_scan_args(argc, argv, "1&", &port, &proc); - Data_Get_Struct(self, SyckParser, parser); input = rb_hash_aref( rb_attr_get( self, s_options ), sym_input ); model = rb_hash_aref( rb_attr_get( self, s_options ), sym_model ); + Data_Get_Struct(self, SyckParser, parser); syck_set_model( parser, input, model ); bonus.taint = syck_parser_assign_io(parser, port); @@ -1374,8 +1377,8 @@ syck_emitter_write_m( self, str ) { SyckEmitter *emitter; - Data_Get_Struct(self, SyckEmitter, emitter); StringValue(str); + Data_Get_Struct(self, SyckEmitter, emitter); syck_emitter_write( emitter, RSTRING(str)->ptr, RSTRING(str)->len ); return self; } @@ -1389,8 +1392,8 @@ syck_emitter_simple_write( self, str ) { SyckEmitter *emitter; - Data_Get_Struct(self, SyckEmitter, emitter); StringValue(str); + Data_Get_Struct(self, SyckEmitter, emitter); syck_emitter_simple( emitter, RSTRING(str)->ptr, RSTRING(str)->len ); return self; } diff --git a/lib/open3.rb b/lib/open3.rb index 407cd7662c..1ddd213f61 100644 --- a/lib/open3.rb +++ b/lib/open3.rb @@ -9,6 +9,13 @@ # or # include Open3 # stdin, stdout, stderr = popen3('nroff -man') +# +# popen3 can also take a block which will receive stdin, stdout and stderr +# as parameters. This ensures stdin, stdout and stderr are closed once +# the block exits. +# +# Such as +# Open3.popen3('nroff -man') { |stdin, stdout, stderr| ... } module Open3 #[stdin, stdout, stderr] = popen3(command); @@ -149,7 +149,7 @@ VALUE rb_obj_id_obsolete(obj) VALUE obj; { - rb_warning("Object#id will be deprecated; use Object#object_id"); + rb_warn("Object#id will be deprecated; use Object#object_id"); return rb_obj_id(obj); } |