Propagating unsafe::slice 1

This commit is contained in:
Kevin Cantu 2012-02-01 03:36:07 -08:00 committed by Brian Anderson
parent 4e406d7fdd
commit 47c57a17dc
3 changed files with 12 additions and 10 deletions

View file

@ -573,7 +573,7 @@ fn install_named_specific(c: cargo, wd: str, src: str, name: str) {
error("Can't find package " + src + "/" + name); error("Can't find package " + src + "/" + name);
} }
fn cmd_install(c: cargo, argv: [str]) { fn cmd_install(c: cargo, argv: [str]) unsafe {
// cargo install <pkg> // cargo install <pkg>
if vec::len(argv) < 3u { if vec::len(argv) < 3u {
cmd_usage(); cmd_usage();
@ -596,8 +596,9 @@ fn cmd_install(c: cargo, argv: [str]) {
let uuid = rest(target, 5u); let uuid = rest(target, 5u);
let idx = str::index(uuid, '/' as u8); let idx = str::index(uuid, '/' as u8);
if idx != -1 { if idx != -1 {
let source = str::slice(uuid, 0u, idx as uint); let source = str::unsafe::slice(uuid, 0u, idx as uint);
uuid = str::slice(uuid, idx as uint + 1u, str::byte_len(uuid)); uuid = str::unsafe::slice(uuid, idx as uint + 1u,
str::byte_len(uuid));
install_uuid_specific(c, wd, source, uuid); install_uuid_specific(c, wd, source, uuid);
} else { } else {
install_uuid(c, wd, uuid); install_uuid(c, wd, uuid);
@ -606,8 +607,9 @@ fn cmd_install(c: cargo, argv: [str]) {
let name = target; let name = target;
let idx = str::index(name, '/' as u8); let idx = str::index(name, '/' as u8);
if idx != -1 { if idx != -1 {
let source = str::slice(name, 0u, idx as uint); let source = str::unsafe::slice(name, 0u, idx as uint);
name = str::slice(name, idx as uint + 1u, str::byte_len(name)); name = str::unsafe::slice(name, idx as uint + 1u,
str::byte_len(name));
install_named_specific(c, wd, source, name); install_named_specific(c, wd, source, name);
} else { } else {
install_named(c, wd, name); install_named(c, wd, name);

View file

@ -283,10 +283,10 @@ fn check_variants_T<T: copy>(
} }
} }
fn last_part(filename: str) -> str { fn last_part(filename: str) -> str unsafe {
let ix = str::rindex(filename, 47u8 /* '/' */); let ix = str::rindex(filename, 47u8 /* '/' */);
assert ix >= 0; assert ix >= 0;
str::slice(filename, ix as uint + 1u, str::byte_len(filename) - 3u) str::unsafe::slice(filename, ix as uint + 1u, str::byte_len(filename) - 3u)
} }
enum happiness { passed, cleanly_rejected(str), known_bug(str), failed(str), } enum happiness { passed, cleanly_rejected(str), known_bug(str), failed(str), }

View file

@ -228,9 +228,9 @@ fn from_str_float(s: str) -> (option<json>, str) {
fn from_str_bool(s: str) -> (option<json>, str) { fn from_str_bool(s: str) -> (option<json>, str) {
if (str::starts_with(s, "true")) { if (str::starts_with(s, "true")) {
(some(boolean(true)), str::slice(s, 4u, str::byte_len(s))) (some(boolean(true)), str::char_slice(s, 4u, str::char_len(s)))
} else if (str::starts_with(s, "false")) { } else if (str::starts_with(s, "false")) {
(some(boolean(false)), str::slice(s, 5u, str::byte_len(s))) (some(boolean(false)), str::char_slice(s, 5u, str::char_len(s)))
} else { } else {
(none, s) (none, s)
} }
@ -238,7 +238,7 @@ fn from_str_bool(s: str) -> (option<json>, str) {
fn from_str_null(s: str) -> (option<json>, str) { fn from_str_null(s: str) -> (option<json>, str) {
if (str::starts_with(s, "null")) { if (str::starts_with(s, "null")) {
(some(null), str::slice(s, 4u, str::byte_len(s))) (some(null), str::char_slice(s, 4u, str::char_len(s)))
} else { } else {
(none, s) (none, s)
} }