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

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


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

[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