Paul G wrote:
----- Original Message -----
From: "Andrey Hristov" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Thursday, July 29, 2004 8:00 PM
Subject: Re: [PHP-DEV] GOTO operator
--- snip ---
Is the average Joe going to write parsers in the everydays work? Probably
not.
how about:
function pseudocode()
{
$a=allocate_resource_z();
$b=allocate_resource_y();
$res=do_stuff();
if(!$res)
goto err_out;
$c=allocate_resource_x();
$res=do_more_stuff();
if(!$res)
goto err_out;
$d=allocate_resource_foo();
$res=do_even_more_stuff();
if(!$res)
goto err_out;
return true;
err_out:
free_resouce($a);
free_resouce($b);
if(isset($c)) free_resouce($c);
if(isset($d)) free_resouce($c);
return false;
}
no goto : other implementation
function pseudocode()
{
$a=allocate_resource_z();
$b=allocate_resource_y();
do {
$res=do_stuff();
if(!$res) break;
$c=allocate_resource_x();
$res=do_more_stuff();
if(!$res) break;
$d=allocate_resource_foo();
$res=do_even_more_stuff();
if(!$res) break;
return true;
} while (0);
free_resouce($a);
free_resouce($b);
if(isset($c)) free_resouce($c);
if(isset($d)) free_resouce($c);
return false;
}
andrey
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php