1
Fork 0

std: fix errors from recent rebase and vec expr/type syntax update

This commit is contained in:
Jeff Olson 2012-06-26 14:39:47 -07:00 committed by Brian Anderson
parent 9edcb104ff
commit b0c4b8ba18
3 changed files with 34 additions and 36 deletions

View file

@ -73,7 +73,7 @@ fn format_addr(ip: ip_addr) -> str {
} }
type get_addr_data = { type get_addr_data = {
output_ch: comm::chan<result::result<[ip_addr],ip_get_addr_err>> output_ch: comm::chan<result::result<[ip_addr]/~,ip_get_addr_err>>
}; };
crust fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int, crust fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int,
@ -83,7 +83,7 @@ crust fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int,
*get_addr_data; *get_addr_data;
if status == 0i32 { if status == 0i32 {
if res != (ptr::null::<addrinfo>()) { if res != (ptr::null::<addrinfo>()) {
let mut out_vec = []; let mut out_vec = []/~;
log(debug, #fmt("initial addrinfo: %?", res)); log(debug, #fmt("initial addrinfo: %?", res));
let mut curr_addr = res; let mut curr_addr = res;
loop { loop {
@ -102,7 +102,7 @@ crust fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int,
result::err(get_addr_unknown_error)); result::err(get_addr_unknown_error));
break; break;
}; };
out_vec += [new_ip_addr]; out_vec += [new_ip_addr]/~;
let next_addr = ll::get_next_addrinfo(curr_addr); let next_addr = ll::get_next_addrinfo(curr_addr);
if next_addr == ptr::null::<addrinfo>() as *addrinfo { if next_addr == ptr::null::<addrinfo>() as *addrinfo {
@ -144,7 +144,7 @@ enum ip_get_addr_err {
#[doc=" #[doc="
"] "]
fn get_addr(++node: str, iotask: iotask) fn get_addr(++node: str, iotask: iotask)
-> result::result<[ip_addr], ip_get_addr_err> unsafe { -> result::result<[ip_addr]/~, ip_get_addr_err> unsafe {
comm::listen {|output_ch| comm::listen {|output_ch|
str::unpack_slice(node) {|node_ptr, len| str::unpack_slice(node) {|node_ptr, len|
log(debug, #fmt("slice len %?", len)); log(debug, #fmt("slice len %?", len));

View file

@ -45,7 +45,7 @@ class tcp_socket {
new(socket_data: @tcp_socket_data) { self.socket_data = socket_data; } new(socket_data: @tcp_socket_data) { self.socket_data = socket_data; }
drop { drop {
unsafe { unsafe {
tear_down_socket_data(socket_data) tear_down_socket_data(self.socket_data)
} }
} }
} }
@ -56,8 +56,9 @@ A buffered wrapper for `net::tcp::tcp_socket`
It is created with a call to `net::tcp::socket_buf()` and has impls that It is created with a call to `net::tcp::socket_buf()` and has impls that
satisfy both the `io::reader` and `io::writer` ifaces. satisfy both the `io::reader` and `io::writer` ifaces.
"] "]
resource tcp_socket_buf(data: @tcp_buffered_socket_data) { class tcp_socket_buf {
log(debug, #fmt("dtor for tcp_socket_buf.. %?", data)); let data: @tcp_buffered_socket_data;
new(data: @tcp_buffered_socket_data) { self.data = data; }
} }
#[doc=" #[doc="
@ -305,7 +306,7 @@ fn write_future(sock: tcp_socket, raw_write_data: [u8]/~)
let socket_data_ptr = ptr::addr_of(*(sock.socket_data)); let socket_data_ptr = ptr::addr_of(*(sock.socket_data));
future_spawn {|| future_spawn {||
let data_copy = copy(raw_write_data); let data_copy = copy(raw_write_data);
write_common_impl(socket_data_ptr, data_copy); write_common_impl(socket_data_ptr, data_copy)
} }
} }
@ -337,10 +338,10 @@ Stop reading from an open TCP connection; used with `read_start`
* `sock` - a `net::tcp::tcp_socket` that you wish to stop reading on * `sock` - a `net::tcp::tcp_socket` that you wish to stop reading on
"] "]
fn read_stop(sock: tcp_socket, fn read_stop(sock: tcp_socket,
-read_port: comm::port<result::result<[u8], tcp_err_data>>) -> -read_port: comm::port<result::result<[u8]/~, tcp_err_data>>) ->
result::result<(), tcp_err_data> unsafe { result::result<(), tcp_err_data> unsafe {
log(debug, #fmt("taking the read_port out of commission %?", read_port)); log(debug, #fmt("taking the read_port out of commission %?", read_port));
let socket_data = ptr::addr_of(**sock); let socket_data = ptr::addr_of(*sock.socket_data);
read_stop_common_impl(socket_data) read_stop_common_impl(socket_data)
} }
@ -735,7 +736,7 @@ or `io::writer`
A buffered wrapper that you can cast as an `io::reader` or `io::writer` A buffered wrapper that you can cast as an `io::reader` or `io::writer`
"] "]
fn socket_buf(-sock: tcp_socket) -> tcp_socket_buf { fn socket_buf(-sock: tcp_socket) -> tcp_socket_buf {
tcp_socket_buf(@{ sock: sock, mut buf: [] }) tcp_socket_buf(@{ sock: sock, mut buf: []/~ })
} }
#[doc=" #[doc="
@ -747,7 +748,7 @@ impl tcp_socket for tcp_socket {
read_start(self) read_start(self)
} }
fn read_stop(-read_port: fn read_stop(-read_port:
comm::port<result::result<[u8], tcp_err_data>>) -> comm::port<result::result<[u8]/~, tcp_err_data>>) ->
result::result<(), tcp_err_data> { result::result<(), tcp_err_data> {
read_stop(self, read_port) read_stop(self, read_port)
} }
@ -773,28 +774,28 @@ impl tcp_socket for tcp_socket {
Implementation of `io::reader` iface for a buffered `net::tcp::tcp_socket` Implementation of `io::reader` iface for a buffered `net::tcp::tcp_socket`
"] "]
impl tcp_socket_buf of io::reader for @tcp_socket_buf { impl tcp_socket_buf of io::reader for @tcp_socket_buf {
fn read_bytes(amt: uint) -> [u8] { fn read_bytes(amt: uint) -> [u8]/~ {
let has_amt_available = let has_amt_available =
vec::len((*self).buf) >= amt; vec::len((*(self.data)).buf) >= amt;
if has_amt_available { if has_amt_available {
// no arbitrary-length shift in vec::? // no arbitrary-length shift in vec::?
let mut ret_buf = []; let mut ret_buf = []/~;
while vec::len(ret_buf) < amt { while vec::len(ret_buf) < amt {
ret_buf += [vec::shift((*self).buf)]; ret_buf += [vec::shift((*(self.data)).buf)]/~;
} }
ret_buf ret_buf
} }
else { else {
let read_result = read((*self).sock, 0u); let read_result = read((*(self.data)).sock, 0u);
if read_result.is_err() { if read_result.is_err() {
let err_data = read_result.get_err(); let err_data = read_result.get_err();
log(debug, #fmt("ERROR sock_buf as io::reader.read err %? %?", log(debug, #fmt("ERROR sock_buf as io::reader.read err %? %?",
err_data.err_name, err_data.err_msg)); err_data.err_name, err_data.err_msg));
[] []/~
} }
else { else {
let new_chunk = result::unwrap(read_result); let new_chunk = result::unwrap(read_result);
(*self).buf += new_chunk; (*(self.data)).buf += new_chunk;
self.read_bytes(amt) self.read_bytes(amt)
} }
} }
@ -803,7 +804,7 @@ impl tcp_socket_buf of io::reader for @tcp_socket_buf {
self.read_bytes(1u)[0] as int self.read_bytes(1u)[0] as int
} }
fn unread_byte(amt: int) { fn unread_byte(amt: int) {
vec::unshift((*self).buf, amt as u8); vec::unshift((*(self.data)).buf, amt as u8);
} }
fn eof() -> bool { fn eof() -> bool {
false // noop false // noop
@ -822,12 +823,9 @@ Implementation of `io::reader` iface for a buffered `net::tcp::tcp_socket`
"] "]
impl tcp_socket_buf of io::writer for @tcp_socket_buf { impl tcp_socket_buf of io::writer for @tcp_socket_buf {
fn write(data: [const u8]/&) unsafe { fn write(data: [const u8]/&) unsafe {
let socket_data_ptr = ptr::addr_of(**((*self).sock)); let socket_data_ptr = ptr::addr_of(*((*(self.data)).sock).socket_data);
let write_buf_vec = vec::unpack_const_slice(data) {|ptr, len| let w_result = write_common_impl(socket_data_ptr,
[ uv::ll::buf_init(ptr as *u8, len) ] vec::slice(data, 0, vec::len(data)));
};
let write_buf_vec_ptr = ptr::addr_of(write_buf_vec);
let w_result = write_common_impl(socket_data_ptr, write_buf_vec_ptr);
if w_result.is_err() { if w_result.is_err() {
let err_data = w_result.get_err(); let err_data = w_result.get_err();
log(debug, #fmt("ERROR sock_buf as io::writer.writer err: %? %?", log(debug, #fmt("ERROR sock_buf as io::writer.writer err: %? %?",
@ -1233,7 +1231,7 @@ type tcp_socket_data = {
type tcp_buffered_socket_data = { type tcp_buffered_socket_data = {
sock: tcp_socket, sock: tcp_socket,
mut buf: [u8] mut buf: [u8]/~
}; };
//#[cfg(test)] //#[cfg(test)]

View file

@ -765,7 +765,7 @@ unsafe fn ip4_addr(ip: str, port: int)
unsafe fn ip6_addr(ip: str, port: int) unsafe fn ip6_addr(ip: str, port: int)
-> sockaddr_in6 { -> sockaddr_in6 {
let mut addr_vec = str::bytes(ip); let mut addr_vec = str::bytes(ip);
addr_vec += [0u8]; // add null terminator addr_vec += [0u8]/~; // add null terminator
let addr_vec_ptr = vec::unsafe::to_ptr(addr_vec); let addr_vec_ptr = vec::unsafe::to_ptr(addr_vec);
let ip_back = str::from_bytes(addr_vec); let ip_back = str::from_bytes(addr_vec);
log(debug, #fmt("vec val: '%s' length: %u", log(debug, #fmt("vec val: '%s' length: %u",
@ -775,8 +775,8 @@ unsafe fn ip6_addr(ip: str, port: int)
} }
unsafe fn ip4_name(src: &sockaddr_in) -> str { unsafe fn ip4_name(src: &sockaddr_in) -> str {
// ipv4 addr max size: 15 + 1 trailing null byte // ipv4 addr max size: 15 + 1 trailing null byte
let dst: [u8] = [0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, let dst: [u8]/~ = [0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8]; 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8]/~;
let size = 16 as libc::size_t; let size = 16 as libc::size_t;
vec::as_buf(dst) {|dst_buf| vec::as_buf(dst) {|dst_buf|
rustrt::rust_uv_ip4_name(src as *sockaddr_in, rustrt::rust_uv_ip4_name(src as *sockaddr_in,
@ -792,12 +792,12 @@ unsafe fn ip4_name(src: &sockaddr_in) -> str {
} }
unsafe fn ip6_name(src: &sockaddr_in6) -> str { unsafe fn ip6_name(src: &sockaddr_in6) -> str {
// ipv6 addr max size: 45 + 1 trailing null byte // ipv6 addr max size: 45 + 1 trailing null byte
let dst: [u8] = [0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, let dst: [u8]/~ = [0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,
0u8,0u8,0u8,0u8,0u8,0u8]; 0u8,0u8,0u8,0u8,0u8,0u8]/~;
let size = 46 as libc::size_t; let size = 46 as libc::size_t;
vec::as_buf(dst) {|dst_buf| vec::as_buf(dst) {|dst_buf|
let result = rustrt::rust_uv_ip6_name(src as *sockaddr_in6, let result = rustrt::rust_uv_ip6_name(src as *sockaddr_in6,