cvs: php-src /sapi/cgi cgi_main.c /sapi/cli php_cli.c
| From: | Ilia Alshanetsky | Date: | Fri, 22 Sep 2006 17:42:08 +0000 |
| Subject: | cvs: php-src /sapi/cgi cgi_main.c /sapi/cli php_cli.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-40655@lists.php.net to get a copy of this message | ||
iliaa Fri Sep 22 17:42:08 2006 UTC
Modified files:
/php-src/sapi/cli php_cli.c
/php-src/sapi/cgi cgi_main.c
Log:
MFB: Restore support for unquoted -d options
http://cvs.php.net/viewvc.cgi/php-src/sapi/cli/php_cli.c?r1=1.162&r2=1.163&diff_format=u
Index: php-src/sapi/cli/php_cli.c
diff -u php-src/sapi/cli/php_cli.c:1.162 php-src/sapi/cli/php_cli.c:1.163
--- php-src/sapi/cli/php_cli.c:1.162 Fri Sep 15 08:18:10 2006
+++ php-src/sapi/cli/php_cli.c Fri Sep 22 17:42:08 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_cli.c,v 1.162 2006/09/15 08:18:10 tony2001 Exp $ */
+/* $Id: php_cli.c,v 1.163 2006/09/22 17:42:08 iliaa Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -655,12 +655,26 @@
case 'd': {
/* define ini entries on command line */
int len = strlen(php_optarg);
+ char *val;
- if (strchr(php_optarg, '=')) {
- cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\n\0"));
- memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, len);
- memcpy(cli_sapi_module.ini_entries + ini_entries_len + len, "\n\0",
sizeof("\n\0"));
- ini_entries_len += len + sizeof("\n\0") - 2;
+ if ((val = strchr(php_optarg, '='))) {
+ val++;
+ if (!isalnum(*val) && *val != '"' && *val !=
'\'' && *val != '\0') {
+ cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\"\"\n\0"));
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, (val - php_optarg));
+ ini_entries_len += (val - php_optarg);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, "\"", 1);
+ ini_entries_len++;
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, val, len - (val - php_optarg));
+ ini_entries_len += len - (val - php_optarg);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, "\"\n\0",
sizeof("\"\n\0"));
+ ini_entries_len += sizeof("\n\0\"") - 2;
+ } else {
+ cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\n\0"));
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, len);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len + len, "\n\0",
sizeof("\n\0"));
+ ini_entries_len += len + sizeof("\n\0") - 2;
+ }
} else {
cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("=1\n\0"));
memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, len);
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.298&r2=1.299&diff_format=u
Index: php-src/sapi/cgi/cgi_main.c
diff -u php-src/sapi/cgi/cgi_main.c:1.298 php-src/sapi/cgi/cgi_main.c:1.299
--- php-src/sapi/cgi/cgi_main.c:1.298 Thu Aug 31 13:12:18 2006
+++ php-src/sapi/cgi/cgi_main.c Fri Sep 22 17:42:08 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cgi_main.c,v 1.298 2006/08/31 13:12:18 dmitry Exp $ */
+/* $Id: cgi_main.c,v 1.299 2006/09/22 17:42:08 iliaa Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -1028,12 +1028,26 @@
case 'd': {
/* define ini entries on command line */
int len = strlen(php_optarg);
+ char *val;
- if (strchr(php_optarg, '=')) {
- cgi_sapi_module.ini_entries = realloc(cgi_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\n\0"));
- memcpy(cgi_sapi_module.ini_entries + ini_entries_len, php_optarg, len);
- memcpy(cgi_sapi_module.ini_entries + ini_entries_len + len, "\n\0",
sizeof("\n\0"));
- ini_entries_len += len + sizeof("\n\0") - 2;
+ if ((val = strchr(php_optarg, '='))) {
+ val++;
+ if (!isalnum(*val) && *val != '"' && *val !=
'\'' && *val != '\0') {
+ cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\"\"\n\0"));
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, (val - php_optarg));
+ ini_entries_len += (val - php_optarg);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, "\"", 1);
+ ini_entries_len++;
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, val, len - (val - php_optarg));
+ ini_entries_len += len - (val - php_optarg);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, "\"\n\0",
sizeof("\"\n\0"));
+ ini_entries_len += sizeof("\n\0\"") - 2;
+ } else {
+ cli_sapi_module.ini_entries = realloc(cli_sapi_module.ini_entries, ini_entries_len + len +
sizeof("\n\0"));
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len, php_optarg, len);
+ memcpy(cli_sapi_module.ini_entries + ini_entries_len + len, "\n\0",
sizeof("\n\0"));
+ ini_entries_len += len + sizeof("\n\0") - 2;
+ }
} else {
cgi_sapi_module.ini_entries = realloc(cgi_sapi_module.ini_entries, ini_entries_len + len +
sizeof("=1\n\0"));
memcpy(cgi_sapi_module.ini_entries + ini_entries_len, php_optarg, len);