From:             
Operating system: Linux CentOS
PHP version:      5.3.10
Package:          CGI/CLI related
Bug Type:         Bug
Bug description:getopt() parses optional values incorrectly

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 bug report at https://bugs.php.net/bug.php?id=60997&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=60997&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=60997&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=60997&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=60997&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=60997&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=60997&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=60997&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=60997&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=60997&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=60997&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=60997&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=60997&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=60997&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=60997&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=60997&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=60997&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=60997&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=60997&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=60997&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=60997&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=60997&r=mysqlcfg

Reply via email to