diff options
| author | Jeff Olson <olson.jeffery@gmail.com> | 2012-03-22 07:28:30 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-04-06 15:35:48 -0700 |
| commit | f179029296b8b8cf90b2b4e1a0cdd448e74e2a7d (patch) | |
| tree | f8e4df66cd7afb57f3048cda78855fd853f3a296 /src/rt/rust_uv.cpp | |
| parent | da779988d586690094cefc5091b44befeb90085f (diff) | |
| download | rust-f179029296b8b8cf90b2b4e1a0cdd448e74e2a7d.tar.gz rust-f179029296b8b8cf90b2b4e1a0cdd448e74e2a7d.zip | |
uv_write works, buffer passing still broke, can get sockaddr_in by val
.. but passing sockaddr_in by val back to C is broken, still passing by ptr .. the uv_write_cb is processed, but we have a status -1.. there is also valgrind spew.. so buf passing is broken, still.
Diffstat (limited to 'src/rt/rust_uv.cpp')
| -rw-r--r-- | src/rt/rust_uv.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp index 52a857a7791..54b95ac6fcb 100644 --- a/src/rt/rust_uv.cpp +++ b/src/rt/rust_uv.cpp @@ -307,13 +307,10 @@ rust_uv_write(uv_write_t* req, uv_stream_t* handle, return uv_write(req, handle, bufs, buf_cnt, cb); } -extern "C" void* +extern "C" sockaddr_in rust_uv_ip4_addr(const char* ip, int port) { - sockaddr_in* addr_ptr = (sockaddr_in*)current_kernel_malloc( - sizeof(sockaddr_in), - "sockaddr_in"); printf("before creating addr_ptr.. ip %s port %d\n", ip, port); - *addr_ptr = uv_ip4_addr("173.194.33.40", 80); - printf("after creating .. port: %d\n", addr_ptr->sin_port); - return (void*)addr_ptr; + sockaddr_in addr = uv_ip4_addr("173.194.33.40", 80); + printf("after creating .. port: %d\n", addr.sin_port); + return addr; } |
