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



Reply via email to