about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJeff Olson <olson.jeffery@gmail.com>2012-05-01 16:40:38 -0700
committerBrian Anderson <banderson@mozilla.com>2012-05-22 22:29:16 -0700
commit5590dfc85775259a3ba313c75d88db0b7e2bd708 (patch)
treea5e05d5632910f06b736de261652334610cbc39f /src/libstd
parent550b34b7828622d6eb23e6bfbcc026c8b57e19fa (diff)
downloadrust-5590dfc85775259a3ba313c75d88db0b7e2bd708.tar.gz
rust-5590dfc85775259a3ba313c75d88db0b7e2bd708.zip
std: tweak uv::ll::write signature and make it generic/more flexible
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/uv_ll.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libstd/uv_ll.rs b/src/libstd/uv_ll.rs
index e33c37739f3..bbd89b2fcc9 100644
--- a/src/libstd/uv_ll.rs
+++ b/src/libstd/uv_ll.rs
@@ -647,11 +647,13 @@ unsafe fn accept(server: *libc::c_void, client: *libc::c_void)
     ret rustrt::rust_uv_accept(server, client);
 }
 
-unsafe fn write(req: *libc::c_void, stream: *libc::c_void,
+unsafe fn write<T>(req: *uv_write_t, stream: *T,
          buf_in: *[uv_buf_t], cb: *u8) -> libc::c_int {
     let buf_ptr = vec::unsafe::to_ptr(*buf_in);
     let buf_cnt = vec::len(*buf_in) as i32;
-    ret rustrt::rust_uv_write(req, stream, buf_ptr, buf_cnt, cb);
+    ret rustrt::rust_uv_write(req as *libc::c_void,
+                              stream as *libc::c_void,
+                              buf_ptr, buf_cnt, cb);
 }
 unsafe fn read_start(stream: *uv_stream_t, on_alloc: *u8,
                      on_read: *u8) -> libc::c_int {
@@ -907,7 +909,7 @@ mod test {
             let client_data = get_data_for_req(
                 connect_req_ptr as *libc::c_void)
                 as *request_wrapper;
-            let write_handle = (*client_data).write_req as *libc::c_void;
+            let write_handle = (*client_data).write_req;
             log(debug, #fmt("on_connect_cb: tcp: %d write_hdl: %d",
                             stream as int, write_handle as int));
             let write_result = write(write_handle,
@@ -1053,7 +1055,7 @@ mod test {
                 let server_chan = *((*client_data).server_chan);
                 comm::send(server_chan, request_str);
                 let write_result = write(
-                    write_req as *libc::c_void,
+                    write_req,
                     client_stream_ptr as *libc::c_void,
                     (*client_data).server_resp_buf,
                     after_server_resp_write);