ID:               36723
 Updated by:       [EMAIL PROTECTED]
 Reported By:      gml4410 at ggr dot co dot uk
-Status:           Open
+Status:           Bogus
 Bug Type:         *Compile Issues
 Operating System: Solaris8
 PHP Version:      4.4.2
 New Comment:

No need for an exaplanation in the bug system, if the bug has been
already fixed in CVS.


Previous Comments:
------------------------------------------------------------------------

[2006-03-13 18:43:19] gml4410 at ggr dot co dot uk

Description:
------------
Bug #36091 actualy fixes this, but you might like an explanation of why
settign optind to 1 and not 0 works.
Bascially, it *documented* that it needs to be set to 1!

Bug #35564 added a fix for recurring getopt()s of:

+       /* Force reinitialization of getopt() (via optind reset) on
every call. */
+       optind = 0;
+

   However, the Open group standrad for getopt() (see
http://www.opengroup.org/onlinepubs/009695399/functions/getopt.html)
states:

>> The variable optind is the index of the next element
>> of the argv[] vector to be processed. It shall be 
>> initialized to 1 by the system, 

   Whereas Linux (well, GNU glibc) is happy with a 0 setting to restart
things other OSes (eg: Solaris) are not.

   This line must be chanegd to "optind = 1;" to work across all
systems (tested on linux and Solaris).

Reproduce code:
---------------
   Just build php and run "make test".  The test report wil include
this line in the FAILED TEST SUMMARY.

getopt [ext/standard/tests/general_functions/getopt.phpt]




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36723&edit=1

Reply via email to