diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-04-03 02:45:53 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-04-03 02:46:18 -0500 |
commit | 0465ddb62b7708819a668aced5ade29cde6a8be0 (patch) | |
tree | 86ef870df906b279ed9e4c63ee5a7ee1b41b3bd7 | |
parent | 3e95a135f67b52589957c14595ad3837c7f2f1e5 (diff) | |
download | rust-term-0465ddb62b7708819a668aced5ade29cde6a8be0.tar.gz rust-term-0465ddb62b7708819a668aced5ade29cde6a8be0.zip |
split this out into a separate module too
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/guard.rs | 14 | ||||
-rw-r--r-- | src/ios.rs | 2 | ||||
-rw-r--r-- | src/term.rs | 1 | ||||
-rw-r--r-- | src/util.rs | 15 |
5 files changed, 17 insertions, 17 deletions
@@ -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)(); + } +} @@ -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) }; |