Project

General

Profile

Actions

Bug #5841

closed

Inccorect calculation in rb_file_join

Added by Eregon (Benoit Daloze) almost 13 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 2.0.0dev
Backport:
[ruby-core:41901]

Description

Not really a bug, since the len is only an advice, and sep's len is usually 1 (separator's len), but the logic is not clear:

diff --git a/file.c b/file.c
index fb62c51..15d594a 100644
--- a/file.c
+++ b/file.c
@@ -3825,7 +3825,7 @@ rb_file_join(VALUE ary, VALUE sep)
}
if (!NIL_P(sep)) {
StringValue(sep);

  •   len += RSTRING_LEN(sep) * RARRAY_LEN(ary) - 1;
    
  •   len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1);
    
    }
    result = rb_str_buf_new(len);
    OBJ_INFECT(result, ary);
Actions

Also available in: Atom PDF

Like0
Like0