summaryrefslogtreecommitdiff
path: root/main/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/main.c')
-rw-r--r--main/main.c73
1 files changed, 39 insertions, 34 deletions
diff --git a/main/main.c b/main/main.c
index 3f0fb6ae64..862b6622cc 100644
--- a/main/main.c
+++ b/main/main.c
@@ -63,6 +63,7 @@
#endif
#include "zend.h"
#include "php_ini.h"
+#include "php_globals.h"
#include "main.h"
#include "control_structures.h"
#include "fopen-wrappers.h"
@@ -104,6 +105,10 @@ int compiler_globals_id;
int executor_globals_id;
#endif
+#ifndef ZTS
+php_core_globals core_globals;
+#endif
+
void *gLock; /*mutex variable */
@@ -115,6 +120,34 @@ void *gLock; /*mutex variable */
HashTable configuration_hash;
char *php3_ini_path = NULL;
+PHP_INI_MH(OnSetPrecision)
+{
+ ELS_FETCH();
+
+ EG(precision) = atoi(new_value);
+ return SUCCESS;
+}
+
+
+PHP_INI_BEGIN()
+ PHP_INI_ENTRY("short_open_tag", "1", PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("asp_tags", "0", PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("precision", "14", PHP_INI_ALL, OnSetPrecision, NULL)
+
+ PHP_INI_ENTRY("highlight.comment", HL_COMMENT_COLOR, PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("highlight.default", HL_DEFAULT_COLOR, PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("highlight.html", HL_HTML_COLOR, PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("highlight.string", HL_STRING_COLOR, PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("highlight.bg", HL_BG_COLOR, PHP_INI_ALL, NULL, NULL)
+ PHP_INI_ENTRY("highlight.keyword", HL_KEYWORD_COLOR, PHP_INI_ALL, NULL, NULL)
+
+ PHP_INI_ENTRY("magic_quotes_gpc", "1", PHP_INI_ALL, OnUpdateInt, (void *) XtOffsetOf(php_core_globals, magic_quotes_gpc))
+ PHP_INI_ENTRY("magic_quotes_runtime", "0", PHP_INI_ALL, OnUpdateInt, (void *) XtOffsetOf(php_core_globals, magic_quotes_runtime))
+ PHP_INI_ENTRY("magic_quotes_sybase", "0", PHP_INI_ALL, OnUpdateInt, (void *) XtOffsetOf(php_core_globals, magic_quotes_sybase))
+PHP_INI_END()
+
+
+
#ifndef THREAD_SAFE
/*
* Globals yet to be protected
@@ -534,7 +567,6 @@ int php3_request_startup(CLS_D ELS_DC)
EG(error_reporting) = php3_ini.errors;
GLOBAL(header_is_being_sent) = 0;
GLOBAL(php3_track_vars) = php3_ini.track_vars;
- EG(precision) = php3_ini.precision;
}
if (php3_init_request_info((void *) &php3_ini)) {
@@ -696,9 +728,6 @@ static int php3_config_ini_startup(ELS_D)
if (cfg_get_long("memory_limit", &php3_ini.memory_limit) == FAILURE) {
php3_ini.memory_limit = 1<<23; /* 8MB */
}
- if (cfg_get_long("precision", &php3_ini.precision) == FAILURE) {
- php3_ini.precision = 14;
- }
if (cfg_get_string("SMTP", &php3_ini.smtp) == FAILURE) {
php3_ini.smtp = "localhost";
}
@@ -733,15 +762,6 @@ static int php3_config_ini_startup(ELS_D)
if (cfg_get_long("warn_plus_overloading", &php3_ini.warn_plus_overloading) == FAILURE) {
php3_ini.warn_plus_overloading = 0;
}
- if (cfg_get_long("magic_quotes_gpc", &php3_ini.magic_quotes_gpc) == FAILURE) {
- php3_ini.magic_quotes_gpc = MAGIC_QUOTES;
- }
- if (cfg_get_long("magic_quotes_runtime", &php3_ini.magic_quotes_runtime) == FAILURE) {
- php3_ini.magic_quotes_runtime = MAGIC_QUOTES;
- }
- if (cfg_get_long("magic_quotes_sybase", &php3_ini.magic_quotes_sybase) == FAILURE) {
- php3_ini.magic_quotes_sybase = 0;
- }
if (cfg_get_long("y2k_compliance", &php3_ini.y2k_compliance) == FAILURE) {
php3_ini.y2k_compliance = 0;
}
@@ -815,25 +835,6 @@ static int php3_config_ini_startup(ELS_D)
if (cfg_get_long("sql.safe_mode", &php3_ini.sql_safe_mode) == FAILURE) {
php3_ini.sql_safe_mode = 0;
}
- /* Syntax highlighting */
- if (cfg_get_string("highlight.comment", &php3_ini.highlight_comment) == FAILURE) {
- php3_ini.highlight_comment = HL_COMMENT_COLOR;
- }
- if (cfg_get_string("highlight.default", &php3_ini.highlight_default) == FAILURE) {
- php3_ini.highlight_default = HL_DEFAULT_COLOR;
- }
- if (cfg_get_string("highlight.html", &php3_ini.highlight_html) == FAILURE) {
- php3_ini.highlight_html = HL_HTML_COLOR;
- }
- if (cfg_get_string("highlight.string", &php3_ini.highlight_string) == FAILURE) {
- php3_ini.highlight_string = HL_STRING_COLOR;
- }
- if (cfg_get_string("highlight.bg", &php3_ini.highlight_bg) == FAILURE) {
- php3_ini.highlight_bg = HL_BG_COLOR;
- }
- if (cfg_get_string("highlight.keyword", &php3_ini.highlight_keyword) == FAILURE) {
- php3_ini.highlight_keyword = HL_KEYWORD_COLOR;
- }
if (cfg_get_long("engine", &php3_ini.engine) == FAILURE) {
php3_ini.engine = 1;
}
@@ -890,6 +891,7 @@ int php3_module_startup(CLS_D ELS_DC)
{
zend_utility_functions zuf;
zend_utility_values zuv;
+ int module_number=0; /* for REGISTER_INI_ENTRIES() */
#if (WIN32|WINNT) && !(USE_SAPI)
WORD wVersionRequested;
@@ -917,8 +919,6 @@ int php3_module_startup(CLS_D ELS_DC)
zend_startup(&zuf, &zuv, NULL);
- php_ini_mstartup();
-
#if HAVE_SETLOCALE
setlocale(LC_CTYPE, "");
#endif
@@ -948,6 +948,9 @@ int php3_module_startup(CLS_D ELS_DC)
}
#endif
+ php_ini_mstartup();
+ REGISTER_INI_ENTRIES();
+
if (module_startup_modules() == FAILURE) {
php3_printf("Unable to start modules\n");
return FAILURE;
@@ -964,6 +967,7 @@ void php3_module_shutdown_for_exec(void)
void php3_module_shutdown()
{
+ int module_number=0; /* for UNREGISTER_INI_ENTRIES() */
CLS_FETCH();
ELS_FETCH();
@@ -991,6 +995,7 @@ void php3_module_shutdown()
#endif
zend_shutdown();
+ UNREGISTER_INI_ENTRIES();
php_ini_mshutdown();
shutdown_memory_manager(0, 1);
}