Edit report at https://bugs.php.net/bug.php?id=60997&edit=1
ID: 60997
Comment by: carloschilazo at gmail dot com
Reported by: eric at wepay dot com
Summary: getopt() parses optional values incorrectly
Status: Open
Type: Bug
Package: CGI/CLI related
Operating System: Linux CentOS
PHP Version: 5.3.10
Block user comment: N
Private report: N
New Comment:
Documentation also states:
Note: Optional values do not accept " " (space) as a separator.
Previous Comments:
------------------------------------------------------------------------
[2012-02-06 23:51:51] eric at wepay dot com
Description:
------------
If a CLI argument is passed with leading whitespace, the value is not picked up
by
getopt() if specified as an optional value (with two colons). This is contrary
to
the documentation, which states, "Option values are the first argument after
the
string. It does not matter if a value has leading white space or not."
Test script:
---------------
<?php
var_dump(getopt('v'));
var_dump(getopt('v:'));
var_dump(getopt('v::'));
?>
$ ./test.php -v2 asdf # behaves as expected
$ ./test.php -v=2 asdf # behaves as expected
$ ./test.php -v 2 asdf # problem case, shown in actual result
Expected result:
----------------
array(1) {
["v"]=>
bool(false)
}
array(1) {
["v"]=>
string(1) "2"
}
array(1) {
["v"]=>
string(1) "2"
}
Actual result:
--------------
array(1) {
["v"]=>
bool(false)
}
array(1) {
["v"]=>
string(1) "2"
}
array(1) {
["v"]=>
bool(false)
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60997&edit=1