Skip to content

Commit a63e0e4

Browse files
committed
Update some str functions to slices, merge as_buf and unpack_slice.
1 parent ae094a7 commit a63e0e4

File tree

15 files changed

+135
-154
lines changed

15 files changed

+135
-154
lines changed

src/libcore/comm.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,13 @@ fn peek_(p: *rust_port) -> bool {
221221
fn select2<A: send, B: send>(p_a: port<A>, p_b: port<B>)
222222
-> either<A, B> {
223223
let ports = ~[(**p_a).po, (**p_b).po];
224-
let n_ports = 2 as libc::size_t;
225224
let yield = 0u, yieldp = ptr::addr_of(yield);
226225

227226
let mut resport: *rust_port;
228227
resport = rusti::init::<*rust_port>();
229-
do vec::as_buf(ports) |ports| {
230-
rustrt::rust_port_select(ptr::addr_of(resport), ports, n_ports,
231-
yieldp);
228+
do vec::as_buf(ports) |ports, n_ports| {
229+
rustrt::rust_port_select(ptr::addr_of(resport), ports,
230+
n_ports as size_t, yieldp);
232231
}
233232

234233
if yield != 0u {

src/libcore/int-template.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fn from_str(s: ~str) -> option<T> { parse_buf(str::bytes(s), 10u) }
9494
/// Convert to a string in a given base
9595
fn to_str(n: T, radix: uint) -> ~str {
9696
do to_str_bytes(n, radix) |slice| {
97-
do vec::unpack_slice(slice) |p, len| {
97+
do vec::as_buf(slice) |p, len| {
9898
unsafe { str::unsafe::from_buf_len(p, len) }
9999
}
100100
}

src/libcore/io.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ fn convert_whence(whence: seek_style) -> i32 {
205205

206206
impl of reader for *libc::FILE {
207207
fn read(buf: &[mut u8], len: uint) -> uint {
208-
do vec::unpack_slice(buf) |buf_p, buf_len| {
208+
do vec::as_buf(buf) |buf_p, buf_len| {
209209
assert buf_len <= len;
210210

211211
let count = libc::fread(buf_p as *mut c_void, 1u as size_t,
@@ -348,7 +348,7 @@ impl <T: writer, C> of writer for {base: T, cleanup: C} {
348348

349349
impl of writer for *libc::FILE {
350350
fn write(v: &[const u8]) {
351-
do vec::unpack_const_slice(v) |vbuf, len| {
351+
do vec::as_const_buf(v) |vbuf, len| {
352352
let nout = libc::fwrite(vbuf as *c_void, len as size_t,
353353
1u as size_t, self);
354354
if nout < 1 as size_t {
@@ -377,7 +377,7 @@ fn FILE_writer(f: *libc::FILE, cleanup: bool) -> writer {
377377
impl of writer for fd_t {
378378
fn write(v: &[const u8]) {
379379
let mut count = 0u;
380-
do vec::unpack_const_slice(v) |vbuf, len| {
380+
do vec::as_const_buf(v) |vbuf, len| {
381381
while count < len {
382382
let vb = ptr::const_offset(vbuf, count) as *c_void;
383383
let nout = libc::write(self, vb, len as size_t);

src/libcore/option.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,10 +175,10 @@ fn test_unwrap_ptr() {
175175
#[test]
176176
fn test_unwrap_str() {
177177
let x = ~"test";
178-
let addr_x = str::as_buf(x, |buf| ptr::addr_of(buf));
178+
let addr_x = str::as_buf(x, |buf, _len| ptr::addr_of(buf));
179179
let opt = some(x);
180180
let y = unwrap(opt);
181-
let addr_y = str::as_buf(y, |buf| ptr::addr_of(buf));
181+
let addr_y = str::as_buf(y, |buf, _len| ptr::addr_of(buf));
182182
assert addr_x == addr_y;
183183
}
184184

src/libcore/os.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ fn as_c_charp<T>(s: ~str, f: fn(*c_char) -> T) -> T {
7171
fn fill_charp_buf(f: fn(*mut c_char, size_t) -> bool)
7272
-> option<~str> {
7373
let buf = vec::to_mut(vec::from_elem(tmpbuf_sz, 0u8 as c_char));
74-
do vec::as_mut_buf(buf) |b| {
75-
if f(b, tmpbuf_sz as size_t) unsafe {
74+
do vec::as_mut_buf(buf) |b, sz| {
75+
if f(b, sz as size_t) unsafe {
7676
some(str::unsafe::from_buf(b as *u8))
7777
} else {
7878
none
@@ -667,7 +667,7 @@ fn copy_file(from: path, to: path) -> bool {
667667
let mut done = false;
668668
let mut ok = true;
669669
while !done {
670-
do vec::as_mut_buf(buf) |b| {
670+
do vec::as_mut_buf(buf) |b, _sz| {
671671
let nread = libc::fread(b as *mut c_void, 1u as size_t,
672672
bufsize as size_t,
673673
istream);
@@ -970,7 +970,7 @@ mod tests {
970970
assert (ostream as uint != 0u);
971971
let s = ~"hello";
972972
let mut buf = vec::to_mut(str::bytes(s) + ~[0 as u8]);
973-
do vec::as_mut_buf(buf) |b| {
973+
do vec::as_mut_buf(buf) |b, _len| {
974974
assert (libc::fwrite(b as *c_void, 1u as size_t,
975975
(str::len(s) + 1u) as size_t, ostream)
976976
== buf.len() as size_t)};

src/libcore/ptr.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,9 @@ fn test_buf_len() {
192192
do str::as_c_str(s1) |p1| {
193193
do str::as_c_str(s2) |p2| {
194194
let v = ~[p0, p1, p2, null()];
195-
do vec::as_buf(v) |vp| {
195+
do vec::as_buf(v) |vp, len| {
196196
assert unsafe { buf_len(vp) } == 3u;
197+
assert len == 4u;
197198
}
198199
}
199200
}

src/libcore/run.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ fn with_argv<T>(prog: ~str, args: ~[~str],
8888
vec::push_all(argptrs, str::as_c_str(*t, |b| ~[b]));
8989
}
9090
vec::push(argptrs, ptr::null());
91-
vec::as_buf(argptrs, cb)
91+
vec::as_buf(argptrs, |buf, _len| cb(buf))
9292
}
9393

9494
#[cfg(unix)]
@@ -108,7 +108,7 @@ fn with_envp<T>(env: option<~[(~str,~str)]>,
108108
vec::push_all(ptrs, str::as_c_str(*t, |b| ~[b]));
109109
}
110110
vec::push(ptrs, ptr::null());
111-
vec::as_buf(ptrs, |p|
111+
vec::as_buf(ptrs, |p, _len|
112112
unsafe { cb(::unsafe::reinterpret_cast(p)) }
113113
)
114114
}

0 commit comments

Comments
 (0)