aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-04-03 02:45:53 -0500
committerJesse Luehrs <doy@tozt.net>2013-04-03 02:46:18 -0500
commit0465ddb62b7708819a668aced5ade29cde6a8be0 (patch)
tree86ef870df906b279ed9e4c63ee5a7ee1b41b3bd7
parent3e95a135f67b52589957c14595ad3837c7f2f1e5 (diff)
downloadrust-term-0465ddb62b7708819a668aced5ade29cde6a8be0.tar.gz
rust-term-0465ddb62b7708819a668aced5ade29cde6a8be0.zip
split this out into a separate module too
-rw-r--r--Makefile2
-rw-r--r--src/guard.rs14
-rw-r--r--src/ios.rs2
-rw-r--r--src/term.rs1
-rw-r--r--src/util.rs15
5 files changed, 17 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 360ad8a..e788e40 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
RUSTC = rustc
MAIN_SOURCE = src/term.rs
-OTHER_SOURCES = src/hexes.rs src/ios.rs src/info.rs src/util.rs src/trie.rs
+OTHER_SOURCES = src/hexes.rs src/ios.rs src/info.rs src/util.rs src/trie.rs src/guard.rs
TESTS = bin/termios bin/termios2 bin/termios3 bin/rl bin/password bin/attrs bin/tput
all: build tests
diff --git a/src/guard.rs b/src/guard.rs
new file mode 100644
index 0000000..75a28aa
--- /dev/null
+++ b/src/guard.rs
@@ -0,0 +1,14 @@
+pub fn guard<T> (finally: ~fn (), body: &fn () -> T) -> T {
+ let _guard = Guard { finally: finally };
+ body()
+}
+
+struct Guard {
+ priv finally: ~fn (),
+}
+
+impl Drop for Guard {
+ fn finalize (&self) {
+ (self.finally)();
+ }
+}
diff --git a/src/ios.rs b/src/ios.rs
index 502b31e..95f798f 100644
--- a/src/ios.rs
+++ b/src/ios.rs
@@ -1,5 +1,5 @@
use core::libc::{c_int,c_void};
-use util::guard;
+use guard::guard;
pub fn cooked () -> int {
unsafe { c::cooked() as int }
diff --git a/src/term.rs b/src/term.rs
index e876dfa..3f9690e 100644
--- a/src/term.rs
+++ b/src/term.rs
@@ -12,3 +12,4 @@ pub mod info;
pub mod ios;
mod trie;
mod util;
+mod guard;
diff --git a/src/util.rs b/src/util.rs
index 1a4e1c3..2b3580e 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -1,20 +1,5 @@
use core::libc::{c_int,c_uint};
-pub fn guard<T> (finally: ~fn (), body: &fn () -> T) -> T {
- let _guard = Guard { finally: finally };
- body()
-}
-
-struct Guard {
- priv finally: ~fn (),
-}
-
-impl Drop for Guard {
- fn finalize (&self) {
- (self.finally)();
- }
-}
-
// XXX huge hack until there's a better built-in way to do this
pub fn timed_read (timeout: int) -> Option<char> {
let first = unsafe { io_helper::timed_read(timeout as c_int) };