[pure-lang-svn] SF.net SVN: pure-lang:[655] pure/trunk/lib/system.pure
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-08-28 15:23:55
|
Revision: 655 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=655&view=rev Author: agraef Date: 2008-08-28 15:24:05 +0000 (Thu, 28 Aug 2008) Log Message: ----------- Simplify definitions of fclose/pclose. Modified Paths: -------------- pure/trunk/lib/system.pure Modified: pure/trunk/lib/system.pure =================================================================== --- pure/trunk/lib/system.pure 2008-08-28 12:03:49 UTC (rev 654) +++ pure/trunk/lib/system.pure 2008-08-28 15:24:05 UTC (rev 655) @@ -174,15 +174,11 @@ /* Pure wrappers for fopen/popen and fclose/pclose which take care of closing a file object automagically when it's garbage-collected. */ -fopen name::string mode::string = check (c_fopen name mode) with - check fp::pointer = sentry c_fclose fp if not null fp; - check fp = fp otherwise; -end; +fopen name::string mode::string = if null fp then fp else sentry c_fclose fp +when fp = c_fopen name mode end; -popen name::string mode::string = check (c_popen name mode) with - check fp::pointer = sentry c_pclose fp if not null fp; - check fp = fp otherwise; -end; +popen name::string mode::string = if null fp then fp else sentry c_pclose fp +when fp = c_popen name mode end; fclose fp::pointer = clear_sentry fp $$ c_fclose fp; pclose fp::pointer = clear_sentry fp $$ c_pclose fp; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |