about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuqman Aden <laden@csclub.uwaterloo.ca>2013-02-11 23:27:12 -0500
committerLuqman Aden <laden@csclub.uwaterloo.ca>2013-02-11 23:49:49 -0500
commit70185fdcc22e2cd11ee5d6171395f3c223bc21e6 (patch)
treec0accf6f275aa63a08f73df82c7146590d5e54f2
parent625fac3c7eea1d28a38f0636b100b60dd4be15aa (diff)
downloadrust-70185fdcc22e2cd11ee5d6171395f3c223bc21e6.tar.gz
rust-70185fdcc22e2cd11ee5d6171395f3c223bc21e6.zip
rt: remove last_os_error and adjust tests.
-rw-r--r--src/libcore/os.rs1
-rw-r--r--src/rt/rust_builtin.cpp44
-rw-r--r--src/test/auxiliary/anon-extern-mod-cross-crate-1.rs2
-rw-r--r--src/test/auxiliary/foreign_lib.rs2
-rw-r--r--src/test/run-fail/morestack2.rs4
-rw-r--r--src/test/run-pass/anon-extern-mod-cross-crate-2.rs2
-rw-r--r--src/test/run-pass/anon-extern-mod.rs4
-rw-r--r--src/test/run-pass/foreign-dupe.rs8
-rw-r--r--src/test/run-pass/invoke-external-foreign.rs2
-rw-r--r--src/test/run-pass/morestack6.rs4
10 files changed, 14 insertions, 59 deletions
diff --git a/src/libcore/os.rs b/src/libcore/os.rs
index d067a83c2e6..dba3293a228 100644
--- a/src/libcore/os.rs
+++ b/src/libcore/os.rs
@@ -62,7 +62,6 @@ extern mod rustrt {
     unsafe fn rust_path_exists(path: *libc::c_char) -> c_int;
     unsafe fn rust_list_files2(&&path: ~str) -> ~[~str];
     unsafe fn rust_process_wait(handle: c_int) -> c_int;
-    unsafe fn last_os_error() -> ~str;
     unsafe fn rust_set_exit_status(code: libc::intptr_t);
 }
 
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index e14f62ffae9..24d7a5b287a 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -52,50 +52,6 @@ timegm(struct tm *tm)
 }
 #endif
 
-
-extern "C" CDECL rust_str*
-last_os_error() {
-    rust_task *task = rust_get_current_task();
-
-    LOG(task, task, "last_os_error()");
-
-#if defined(__WIN32__)
-    LPTSTR buf;
-    DWORD err = GetLastError();
-    DWORD res = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                              FORMAT_MESSAGE_FROM_SYSTEM |
-                              FORMAT_MESSAGE_IGNORE_INSERTS,
-                              NULL, err,
-                              MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                              (LPTSTR) &buf, 0, NULL);
-    if (!res) {
-        task->fail();
-        return NULL;
-    }
-#elif defined(_GNU_SOURCE) && !defined(__ANDROID__)
-    char cbuf[BUF_BYTES];
-    char *buf = strerror_r(errno, cbuf, sizeof(cbuf));
-    if (!buf) {
-        task->fail();
-        return NULL;
-    }
-#else
-    char buf[BUF_BYTES];
-    int err = strerror_r(errno, buf, sizeof(buf));
-    if (err) {
-        task->fail();
-        return NULL;
-    }
-#endif
-
-    rust_str * st = make_str(task->kernel, buf, strlen(buf),
-                             "last_os_error");
-#ifdef __WIN32__
-    LocalFree((HLOCAL)buf);
-#endif
-    return st;
-}
-
 extern "C" CDECL rust_str *
 rust_getcwd() {
     rust_task *task = rust_get_current_task();
diff --git a/src/test/auxiliary/anon-extern-mod-cross-crate-1.rs b/src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
index bbe36f18d6c..bccbb8173aa 100644
--- a/src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
+++ b/src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
@@ -15,5 +15,5 @@
 
 #[crate_type = "lib"];
 extern {
-  fn last_os_error() -> ~str;
+  fn rust_get_argc() -> libc::c_int;
 }
diff --git a/src/test/auxiliary/foreign_lib.rs b/src/test/auxiliary/foreign_lib.rs
index eb3397a8a5f..1d9c1cdbf83 100644
--- a/src/test/auxiliary/foreign_lib.rs
+++ b/src/test/auxiliary/foreign_lib.rs
@@ -11,5 +11,5 @@
 #[link(name="foreign_lib", vers="0.0")];
 
 pub extern mod rustrt {
-    pub fn last_os_error() -> ~str;
+    pub fn rust_get_argc() -> libc::c_int;
 }
diff --git a/src/test/run-fail/morestack2.rs b/src/test/run-fail/morestack2.rs
index 58957aac203..8236489834d 100644
--- a/src/test/run-fail/morestack2.rs
+++ b/src/test/run-fail/morestack2.rs
@@ -18,7 +18,7 @@
 extern mod std;
 
 extern mod rustrt {
-    pub fn last_os_error() -> ~str;
+    pub fn rust_get_argc() -> libc::c_int;
 }
 
 fn getbig_call_c_and_fail(i: int) {
@@ -26,7 +26,7 @@ fn getbig_call_c_and_fail(i: int) {
         getbig_call_c_and_fail(i - 1);
     } else {
         unsafe {
-            rustrt::last_os_error();
+            rustrt::rust_get_argc();
             die!();
         }
     }
diff --git a/src/test/run-pass/anon-extern-mod-cross-crate-2.rs b/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
index 939903b3b12..ed57b32b3d9 100644
--- a/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
+++ b/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
@@ -15,5 +15,5 @@ extern mod anonexternmod;
 use anonexternmod::*;
 
 pub fn main() {
-  last_os_error();
+  rust_get_argc();
 }
diff --git a/src/test/run-pass/anon-extern-mod.rs b/src/test/run-pass/anon-extern-mod.rs
index 525e6b9fbd6..6e73022fad2 100644
--- a/src/test/run-pass/anon-extern-mod.rs
+++ b/src/test/run-pass/anon-extern-mod.rs
@@ -11,11 +11,11 @@
 #[abi = "cdecl"]
 #[link_name = "rustrt"]
 extern {
-    fn last_os_error() -> ~str;
+    fn rust_get_argc() -> libc::c_int;
 }
 
 pub fn main() {
     unsafe {
-        let _ = last_os_error();
+        let _ = rust_get_argc();
     }
 }
diff --git a/src/test/run-pass/foreign-dupe.rs b/src/test/run-pass/foreign-dupe.rs
index 77ed95a8099..6230fe11363 100644
--- a/src/test/run-pass/foreign-dupe.rs
+++ b/src/test/run-pass/foreign-dupe.rs
@@ -14,18 +14,18 @@
 #[abi = "cdecl"]
 #[link_name = "rustrt"]
 extern mod rustrt1 {
-    pub fn last_os_error() -> ~str;
+    pub fn rust_get_argc() -> libc::c_int;
 }
 
 #[abi = "cdecl"]
 #[link_name = "rustrt"]
 extern mod rustrt2 {
-    pub fn last_os_error() -> ~str;
+    pub fn rust_get_argc() -> libc::c_int;
 }
 
 pub fn main() {
     unsafe {
-        rustrt1::last_os_error();
-        rustrt2::last_os_error();
+        rustrt1::rust_get_argc();
+        rustrt2::rust_get_argc();
     }
 }
diff --git a/src/test/run-pass/invoke-external-foreign.rs b/src/test/run-pass/invoke-external-foreign.rs
index cc50e06199d..69fce9e541e 100644
--- a/src/test/run-pass/invoke-external-foreign.rs
+++ b/src/test/run-pass/invoke-external-foreign.rs
@@ -18,5 +18,5 @@
 extern mod foreign_lib;
 
 pub fn main() {
-    let foo = foreign_lib::rustrt::last_os_error();
+    let foo = foreign_lib::rustrt::rust_get_argc();
 }
diff --git a/src/test/run-pass/morestack6.rs b/src/test/run-pass/morestack6.rs
index 9b852cbc635..d56d9c30b70 100644
--- a/src/test/run-pass/morestack6.rs
+++ b/src/test/run-pass/morestack6.rs
@@ -15,7 +15,7 @@ extern mod rustrt {
     pub fn debug_get_stk_seg() -> *u8;
 
     pub fn rust_get_sched_id() -> libc::intptr_t;
-    pub fn last_os_error() -> ~str;
+    pub fn rust_get_argc() -> libc::c_int;
     pub fn rust_getcwd() -> ~str;
     pub fn get_task_id() -> libc::intptr_t;
     pub fn rust_sched_threads();
@@ -23,7 +23,7 @@ extern mod rustrt {
 }
 
 fn calllink01() { unsafe { rustrt::rust_get_sched_id(); } }
-fn calllink02() { unsafe { rustrt::last_os_error(); } }
+fn calllink02() { unsafe { rustrt::rust_get_argc(); } }
 fn calllink03() { unsafe { rustrt::rust_getcwd(); } }
 fn calllink08() { unsafe { rustrt::get_task_id(); } }
 fn calllink09() { unsafe { rustrt::rust_sched_threads(); } }