From fe6d6863b20495995924e6dd328746df617571d5 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 8 Apr 2013 21:37:38 -0500 Subject: use unstable::finally::Finally instead of reimplementing it --- src/ios.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/ios.rs') diff --git a/src/ios.rs b/src/ios.rs index f1e6e80..6f57a51 100644 --- a/src/ios.rs +++ b/src/ios.rs @@ -1,5 +1,5 @@ use core::libc::{c_int,c_void}; -use guard::guard; +use core::unstable::finally::Finally; /** * Put the terminal into cooked mode. @@ -46,8 +46,10 @@ pub fn echo (enable: bool) -> int { */ pub fn preserve (body: &fn () -> T) -> T { let orig = unsafe { c::get() }; - do guard(|| { unsafe { c::set(orig) } }) { + do(|| { body() + }).finally { + unsafe { c::set(orig) }; } } -- cgit v1.2.3-54-g00ecf