[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.
|