ID:               45956
 Updated by:       [EMAIL PROTECTED]
 Reported By:      bugs at timj dot co dot uk
-Status:           Assigned
+Status:           Closed
 Bug Type:         Filesystem function related
 Operating System: *
 PHP Version:      5CVS, 6CVS (2008-08-31)
 Assigned To:      jani
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




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

[2008-08-30 22:41:26] [EMAIL PROTECTED]

It's a bug. Oversight, but bug nevertheless.

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

[2008-08-30 18:59:21] bugs at timj dot co dot uk

Description:
------------
This seems to be a design error rather than a bug: parse_ini_file()
does not provide any way to handle errors gracefully. In the event of a
syntax error, it throws an E_WARNING *but* the return value is simply an
empty array (the same as a - valid - empty file) instead of FALSE. Thus
there is no way to trap the error (via @ prefix) and handle it in a more
graceful way than an E_WARNING.

I would argue that changing the return value to FALSE in the case of an
invalid file is a reasonable change, since the only situations it will
break are ones where currently PHP throws a warning anyway.


Reproduce code:
---------------
This is what it would be nice to be able to do:

$ini = @parse_ini_file('some_invalid.ini');
if ($ini === false) {
   // error: do something graceful
}
// normal execution

Expected result:
----------------
The code section "// do something graceful" executes

Actual result:
--------------
The code section "// normal execution" executes


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


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

Reply via email to