#46347 [Opn->Asn]: parse_ini_file() does not like asterisk (*) in key

From: Date: Thu, 01 Jan 2009 11:57:00 +0000
Subject: #46347 [Opn->Asn]: parse_ini_file() does not like asterisk (*) in key
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-132479@lists.php.net to get a copy of this message
 ID:               46347
 Updated by:       jani@php.net
 Reported By:      duke at masendav dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         Scripting Engine problem
 Operating System: *
 PHP Version:      5.3CVS-2008-11-11
 Assigned To:      scottmac
 New Comment:

I don't know how to allow literal * in re2c. (\* did not work)
And I don't have spare time to debug this. Ask Pierre if he has.


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

[2008-12-24 13:58:39] scottmac@php.net

Jani, this wasn't broken by any of the re2c stuff.

The changes you made to zend_ini_scanner.l revision 1.48 are the cause.

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

[2008-10-20 21:01:03] duke at masendav dot com

More like undocumented feature then. Nothing at
http://www.php.net/parse_ini_file says that * cannot
be used inside
keys. So we are using it in a few in-house applications and this came as
unpleasant surprise.

We can of course implement a different solution, if you really consider
the current (5.2) behaviour bug.

In which case it would be nice to have a better explanation in
parse_ini_file documentation with regard to what is considered a valid
syntax and what not.

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

[2008-10-20 20:45:16] jani@php.net

Why should it like it? That looks like a bug that got fixed by the 
new parser. 

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

[2008-10-20 19:40:21] duke at masendav dot com

Description:
------------
parse_ini_file no longer likes * (asterisk) in configuration keys.

Works just fine in PHP 5.2.5


Reproduce code:
---------------
Ini file with the following content:
[section]
part1.*.part2 = 1

PHP file:
<?php
parse_ini_file('test.ini');



Expected result:
----------------
ini file being parsed without any error messages


Actual result:
--------------
Warning: syntax error, unexpected '*' in test.ini on line 2
 in test.php on line 2


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


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



Thread (9 messages)

« previous php.bugs (#132479) next »