ID:               43313
 Updated by:       j...@php.net
 Reported By:      RQuadling at GMail dot com
-Status:           Assigned
+Status:           Open
 Bug Type:         CGI related
 Operating System: *
 PHP Version:      5CVS-2008-11-11
 Assigned To:      bjori
 New Comment:

Deassigning since Hannes apparently has no idea how to fix this.


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

[2008-11-11 11:08:09] j...@php.net

Still fails after a year without response from Hannes.

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

[2008-11-02 13:13:49] j...@php.net

Hannes, are you doing something about this?

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

[2007-11-16 15:18:00] RQuadling at GMail dot com

Description:
------------
getopt() stops processing at the first unknown parameter.

I'm not sure if this is ...

a php bug - getopt should return them as is

or ...

a doc bug - getopt() will cease operation at the first hurdle.



My preference is to return them as is. Maybe a third param to the
function to collect unknown parameters. This would provide backward
compatibility if the function didn't die when an unknown parameter was
reached.




The code is a simple test to examine the command line.

Run this with this parameter

-a 1

and then with these

broken -a 1


Reproduce code:
---------------
<?php
var_dump($_SERVER['argv'], getopt('a:b', array('apple=', 'bag')));
?>

Expected result:
----------------
array(3) {
  [0]=>
  string(17) "C:\phpargtest.php"
  [1]=>
  string(2) "-a"
  [2]=>
  string(1) "1"
}
array(1) {
  ["a"]=>
  string(1) "1"
}

array(4) {
  [0]=>
  string(17) "C:\phpargtest.php"
  [1]=>
  string(6) "broken"
  [2]=>
  string(2) "-a"
  [3]=>
  string(1) "1"
}
array(1) {
  [0]=>
  string(6) "broken"
  ["a"]=>
  string(1) "1"
}


Actual result:
--------------
array(3) {
  [0]=>
  string(17) "C:\phpargtest.php"
  [1]=>
  string(2) "-a"
  [2]=>
  string(1) "1"
}
array(1) {
  ["a"]=>
  string(1) "1"
}

array(4) {
  [0]=>
  string(17) "C:\phpargtest.php"
  [1]=>
  string(6) "broken"
  [2]=>
  string(2) "-a"
  [3]=>
  string(1) "1"
}
array(0) {
}


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


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

Reply via email to