diff options
author | Alon Zakai <azakai@mozilla.com> | 2011-02-19 10:51:07 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2011-02-19 10:51:07 -0800 |
commit | f4a934a2adec69bc82c42342c7924fdf259f64cc (patch) | |
tree | bd4f0f31470c59d063db3f35e99e4cd04ddfa20d | |
parent | 6ccab6bbb7f9fc715901c83e10109a9a20bc4c73 (diff) |
optimize String_copy
-rw-r--r-- | src/preamble.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/preamble.js b/src/preamble.js index b471da92..a65ffdce 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -313,7 +313,11 @@ function String_len(ptr) { // Copies a C-style string, terminated by a zero, from the HEAP into // a normal JavaScript array of numbers function String_copy(ptr, addZero) { - return Array_copy(ptr, String_len(ptr)).concat(addZero ? [0] : []); + var len = String_len(ptr); + if (addZero) len++; + var ret = Array_copy(ptr, len); + if (addZero) ret[len-1] = 0; + return ret; } // Tools |