2012-09-11 17:46:20 -07:00
|
|
|
extern mod std;
|
2011-10-24 17:03:18 -07:00
|
|
|
|
2011-11-16 22:49:38 -06:00
|
|
|
#[abi = "cdecl"]
|
2011-12-15 15:25:29 -05:00
|
|
|
#[nolink]
|
2012-07-03 16:11:00 -07:00
|
|
|
extern mod libc {
|
2012-09-21 18:10:45 -07:00
|
|
|
#[legacy_exports];
|
2012-03-14 13:56:00 -07:00
|
|
|
fn atol(x: *u8) -> int;
|
|
|
|
fn atoll(x: *u8) -> i64;
|
2011-10-24 17:03:18 -07:00
|
|
|
}
|
|
|
|
|
2012-07-13 22:57:48 -07:00
|
|
|
fn atol(s: ~str) -> int {
|
2012-08-01 17:30:05 -07:00
|
|
|
return str::as_buf(s, { |x, _len| libc::atol(x) });
|
2011-10-24 17:03:18 -07:00
|
|
|
}
|
|
|
|
|
2012-07-13 22:57:48 -07:00
|
|
|
fn atoll(s: ~str) -> i64 {
|
2012-08-01 17:30:05 -07:00
|
|
|
return str::as_buf(s, { |x, _len| libc::atoll(x) });
|
2011-10-24 17:03:18 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2012-07-13 22:57:48 -07:00
|
|
|
assert atol(~"1024") * 10 == atol(~"10240");
|
|
|
|
assert (atoll(~"11111111111111111") * 10i64)
|
|
|
|
== atoll(~"111111111111111110");
|
2011-10-24 17:03:18 -07:00
|
|
|
}
|