diff options
| author | Michael Sullivan <sully@msully.net> | 2012-06-18 12:50:09 -0700 |
|---|---|---|
| committer | Michael Sullivan <sully@msully.net> | 2012-06-18 15:54:37 -0700 |
| commit | 30dd32d4db0834a9bb965cfceaee3211f09a5344 (patch) | |
| tree | 40202fb654183cef4ecd4ac693551617e48c54e4 /src/rt/rust_upcall.cpp | |
| parent | 797856cbdefaff84072a39bb92fc8dbc0950e96e (diff) | |
| download | rust-30dd32d4db0834a9bb965cfceaee3211f09a5344.tar.gz rust-30dd32d4db0834a9bb965cfceaee3211f09a5344.zip | |
Fix generation of str/@. Closes #2638.
Diffstat (limited to 'src/rt/rust_upcall.cpp')
| -rw-r--r-- | src/rt/rust_upcall.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rt/rust_upcall.cpp b/src/rt/rust_upcall.cpp index ea938d386f4..3803f60c045 100644 --- a/src/rt/rust_upcall.cpp +++ b/src/rt/rust_upcall.cpp @@ -373,8 +373,9 @@ upcall_s_str_new_shared(s_str_new_shared_args *args) { size_t str_fill = args->len + 1; size_t str_alloc = str_fill; args->retval = (rust_opaque_box *) - task->boxed.malloc(&str_body_tydesc, str_fill); - rust_str *str = (rust_str *)box_body(args->retval); + task->boxed.malloc(&str_body_tydesc, + str_fill + sizeof(rust_vec)); + rust_str *str = (rust_str *)args->retval; str->body.fill = str_fill; str->body.alloc = str_alloc; memcpy(&str->body.data, args->cstr, args->len); |
