From 9d77639f30172b0e3b88ea22df0724df61240161 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 7 Mar 2003 05:59:42 +0000 Subject: * parse.y (dsym): :"symbol string" style should not contain `\0'. * process.c (proc_detach): new method Proc#detach(pid) which create background watcher thread to issue waitpid. [new] * process.c (rb_detach_process): utility function to detach process from C code. * ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread, and detach child process (by creating new idle waitpid watcher thread). * ext/pty/pty.c (pty_syswait): may lost signal stopped child. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'string.c') diff --git a/string.c b/string.c index e4308be0f5..a273400d89 100644 --- a/string.c +++ b/string.c @@ -614,12 +614,7 @@ rb_str_cat(str, ptr, len) if (FL_TEST(str, STR_ASSOC)) { rb_str_modify(str); REALLOC_N(RSTRING(str)->ptr, char, RSTRING(str)->len+len); - if (ptr) { - memcpy(RSTRING(str)->ptr + RSTRING(str)->len, ptr, len); - } - else { - MEMZERO(RSTRING(str)->ptr + RSTRING(str)->len, char, len); - } + memcpy(RSTRING(str)->ptr + RSTRING(str)->len, ptr, len); RSTRING(str)->len += len; RSTRING(str)->ptr[RSTRING(str)->len] = '\0'; /* sentinel */ return str; @@ -3076,7 +3071,7 @@ rb_str_intern(str) rb_raise(rb_eArgError, "interning empty string"); } if (strlen(RSTRING(str)->ptr) != RSTRING(str)->len) - rb_raise(rb_eArgError, "string contains `\\0'"); + rb_raise(rb_eArgError, "symbol string may not contain `\\0'"); id = rb_intern(RSTRING(str)->ptr); return ID2SYM(id); } -- cgit v1.2.3