ruby-changes:16834
From: mame <ko1@a...>
Date: Mon, 2 Aug 2010 00:44:56 +0900 (JST)
Subject: [ruby-changes:16834] Ruby:r28829 (ruby_1_9_2): * util.c (ruby_add_suffix): fixed a bug returning uninitialized value.
mame 2010-08-02 00:44:38 +0900 (Mon, 02 Aug 2010) New Revision: 28829 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28829 Log: * util.c (ruby_add_suffix): fixed a bug returning uninitialized value. This is the essential part from r28794 of trunk. Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/util.c Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 28828) +++ ruby_1_9_2/ChangeLog (revision 28829) @@ -1,3 +1,8 @@ +Mon Aug 2 00:03:18 2010 Yusuke Endoh <mame@t...> + + * util.c (ruby_add_suffix): fixed a bug returning uninitialized value. + This is the essential part from r28794 of trunk. + Mon Jul 26 13:01:25 2010 Nobuyoshi Nakada <nobu@r...> * vm.c (rb_thread_mark): should mark iseq itself other than normal Index: ruby_1_9_2/util.c =================================================================== --- ruby_1_9_2/util.c (revision 28828) +++ ruby_1_9_2/util.c (revision 28829) @@ -292,7 +292,10 @@ if (*suffix == '.') { /* Style 1 */ if (ext) { - if (strEQ(ext, suffix)) goto fallback; + if (strEQ(ext, suffix)) { + extlen = sizeof(suffix1) - 1; /* suffix2 must be same length */ + suffix = strEQ(suffix, suffix1) ? suffix2 : suffix1; + } slen = ext - name; } rb_str_resize(str, slen); @@ -332,9 +335,9 @@ fallback: (void)memcpy(p, !ext || strEQ(ext, suffix1) ? suffix2 : suffix1, 5); } + rb_str_resize(str, strlen(buf)); + memcpy(RSTRING_PTR(str), buf, RSTRING_LEN(str)); } - rb_str_resize(str, strlen(buf)); - memcpy(RSTRING_PTR(str), buf, RSTRING_LEN(str)); } static int -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/