summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_constants.c2
-rw-r--r--ext/bz2/bz2.c4
-rw-r--r--ext/bz2/bz2_filter.c8
-rw-r--r--ext/bz2/php_bz2.h4
-rw-r--r--ext/calendar/calendar.c20
-rw-r--r--ext/calendar/dow.c4
-rw-r--r--ext/calendar/french.c2
-rw-r--r--ext/calendar/gregor.c4
-rw-r--r--ext/calendar/jewish.c12
-rw-r--r--ext/calendar/sdncal.h20
-rw-r--r--ext/date/php_date.c12
-rw-r--r--ext/iconv/iconv.c6
-rw-r--r--ext/mbstring/mbstring.c4
-rw-r--r--ext/opcache/zend_accelerator_util_funcs.c2
-rw-r--r--ext/openssl/xp_ssl.c4
-rw-r--r--ext/pdo_oci/oci_statement.c2
-rw-r--r--ext/pdo_pgsql/pgsql_driver.c2
-rw-r--r--ext/pdo_pgsql/php_pdo_pgsql_int.h2
-rw-r--r--ext/pgsql/php_pgsql.h2
-rw-r--r--ext/phar/dirstream.c2
-rw-r--r--ext/phar/stream.c4
-rw-r--r--ext/session/mod_files.c2
-rw-r--r--ext/session/mod_files.h2
-rw-r--r--ext/session/mod_mm.c2
-rw-r--r--ext/session/mod_mm.h2
-rw-r--r--ext/session/mod_user.c2
-rw-r--r--ext/session/mod_user.h2
-rw-r--r--ext/session/php_session.h8
-rw-r--r--ext/session/session.c18
-rw-r--r--ext/sqlite3/sqlite3.c2
-rw-r--r--ext/standard/datetime.c8
-rw-r--r--ext/standard/filters.c44
-rw-r--r--ext/standard/formatted_print.c6
-rw-r--r--ext/standard/ftp_fopen_wrapper.c4
-rw-r--r--ext/standard/http_fopen_wrapper.c2
-rw-r--r--ext/standard/metaphone.c2
-rw-r--r--ext/standard/php_fopen_wrapper.c6
-rw-r--r--ext/standard/php_string.h2
-rw-r--r--ext/standard/string.c8
-rw-r--r--ext/standard/user_filters.c4
-rw-r--r--ext/xml/xml.c12
-rw-r--r--ext/zip/zip_stream.c4
-rw-r--r--ext/zlib/php_zlib.h4
-rw-r--r--ext/zlib/zlib_filter.c8
-rw-r--r--ext/zlib/zlib_fopen_wrapper.c4
-rw-r--r--main/SAPI.c8
-rw-r--r--main/SAPI.h6
-rw-r--r--main/php_content_types.c2
-rw-r--r--main/php_memory_streams.h6
-rw-r--r--main/php_network.h4
-rw-r--r--main/php_streams.h8
-rw-r--r--main/snprintf.c6
-rw-r--r--main/streams/filter.c12
-rw-r--r--main/streams/glob_wrapper.c4
-rw-r--r--main/streams/memory.c8
-rw-r--r--main/streams/php_stream_filter_api.h8
-rw-r--r--main/streams/php_stream_glob_wrapper.h4
-rw-r--r--main/streams/php_stream_userspace.h4
-rw-r--r--main/streams/plain_wrapper.c5
-rw-r--r--main/streams/streams.c2
-rw-r--r--main/streams/userspace.c6
-rw-r--r--main/streams/xp_socket.c22
-rw-r--r--sapi/phpdbg/phpdbg.c11
-rw-r--r--sapi/phpdbg/phpdbg.h2
64 files changed, 206 insertions, 202 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index 3fa547bcf0..42bccda28f 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -203,7 +203,7 @@ ZEND_API void zend_register_string_constant(const char *name, size_t name_len, c
static zend_constant *zend_get_special_constant(const char *name, size_t name_len)
{
zend_constant *c;
- static char haltoff[] = "__COMPILER_HALT_OFFSET__";
+ static const char haltoff[] = "__COMPILER_HALT_OFFSET__";
if (!EG(current_execute_data)) {
return NULL;
diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c
index d8445d295f..5250bf49d3 100644
--- a/ext/bz2/bz2.c
+++ b/ext/bz2/bz2.c
@@ -211,7 +211,7 @@ static int php_bz2iop_flush(php_stream *stream)
}
/* }}} */
-php_stream_ops php_stream_bz2io_ops = {
+const php_stream_ops php_stream_bz2io_ops = {
php_bz2iop_write, php_bz2iop_read,
php_bz2iop_close, php_bz2iop_flush,
"BZip2",
@@ -317,7 +317,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper,
/* }}} */
-static php_stream_wrapper_ops bzip2_stream_wops = {
+static const php_stream_wrapper_ops bzip2_stream_wops = {
_php_stream_bz2open,
NULL, /* close */
NULL, /* fstat */
diff --git a/ext/bz2/bz2_filter.c b/ext/bz2/bz2_filter.c
index 6446e29ad9..3dfe1b6352 100644
--- a/ext/bz2/bz2_filter.c
+++ b/ext/bz2/bz2_filter.c
@@ -193,7 +193,7 @@ static void php_bz2_decompress_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops php_bz2_decompress_ops = {
+static const php_stream_filter_ops php_bz2_decompress_ops = {
php_bz2_decompress_filter,
php_bz2_decompress_dtor,
"bzip2.decompress"
@@ -297,7 +297,7 @@ static void php_bz2_compress_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops php_bz2_compress_ops = {
+static const php_stream_filter_ops php_bz2_compress_ops = {
php_bz2_compress_filter,
php_bz2_compress_dtor,
"bzip2.compress"
@@ -309,7 +309,7 @@ static php_stream_filter_ops php_bz2_compress_ops = {
static php_stream_filter *php_bz2_filter_create(const char *filtername, zval *filterparams, uint8_t persistent)
{
- php_stream_filter_ops *fops = NULL;
+ const php_stream_filter_ops *fops = NULL;
php_bz2_filter_data *data;
int status = BZ_OK;
@@ -399,7 +399,7 @@ static php_stream_filter *php_bz2_filter_create(const char *filtername, zval *fi
return php_stream_filter_alloc(fops, data, persistent);
}
-php_stream_filter_factory php_bz2_filter_factory = {
+const php_stream_filter_factory php_bz2_filter_factory = {
php_bz2_filter_create
};
/* }}} */
diff --git a/ext/bz2/php_bz2.h b/ext/bz2/php_bz2.h
index e21f1f1c96..ac04ba7ce2 100644
--- a/ext/bz2/php_bz2.h
+++ b/ext/bz2/php_bz2.h
@@ -56,8 +56,8 @@ PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, const char *
#define php_stream_bz2open_from_BZFILE(bz, mode, innerstream) _php_stream_bz2open_from_BZFILE((bz), (mode), (innerstream) STREAMS_CC)
#define php_stream_bz2open(wrapper, path, mode, options, opened_path) _php_stream_bz2open((wrapper), (path), (mode), (options), (opened_path), NULL STREAMS_CC)
-extern php_stream_filter_factory php_bz2_filter_factory;
-extern php_stream_ops php_stream_bz2io_ops;
+extern const php_stream_filter_factory php_bz2_filter_factory;
+extern const php_stream_ops php_stream_bz2io_ops;
#define PHP_STREAM_IS_BZIP2 &php_stream_bz2io_ops
/* 400kb */
diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c
index a3097f45d8..faf17ccbf6 100644
--- a/ext/calendar/calendar.c
+++ b/ext/calendar/calendar.c
@@ -185,17 +185,17 @@ typedef void (*cal_from_jd_func_t) (zend_long jd, int *year, int *month, int *da
typedef char *(*cal_as_string_func_t) (int year, int month, int day);
struct cal_entry_t {
- char *name;
- char *symbol;
+ const char *name;
+ const char *symbol;
cal_to_jd_func_t to_jd;
cal_from_jd_func_t from_jd;
int num_months;
int max_days_in_month;
- char **month_name_short;
- char **month_name_long;
+ const char * const * month_name_short;
+ const char * const * month_name_long;
};
-static struct cal_entry_t cal_conversion_table[CAL_NUM_CALS] = {
+static const struct cal_entry_t cal_conversion_table[CAL_NUM_CALS] = {
{"Gregorian", "CAL_GREGORIAN", GregorianToSdn, SdnToGregorian, 12, 31,
MonthNameShort, MonthNameLong},
{"Julian", "CAL_JULIAN", JulianToSdn, SdnToJulian, 12, 31,
@@ -266,7 +266,7 @@ static void _php_cal_info(int cal, zval *ret)
{
zval months, smonths;
int i;
- struct cal_entry_t *calendar;
+ const struct cal_entry_t *calendar;
calendar = &cal_conversion_table[cal];
array_init(ret);
@@ -327,7 +327,7 @@ PHP_FUNCTION(cal_info)
PHP_FUNCTION(cal_days_in_month)
{
zend_long cal, month, year;
- struct cal_entry_t *calendar;
+ const struct cal_entry_t *calendar;
zend_long sdn_start, sdn_next;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &cal, &month, &year) == FAILURE) {
@@ -396,7 +396,7 @@ PHP_FUNCTION(cal_from_jd)
zend_long jd, cal;
int month, day, year, dow;
char date[16];
- struct cal_entry_t *calendar;
+ const struct cal_entry_t *calendar;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &jd, &cal) == FAILURE) {
RETURN_FALSE;
@@ -695,7 +695,7 @@ PHP_FUNCTION(jddayofweek)
{
zend_long julday, mode = CAL_DOW_DAYNO;
int day;
- char *daynamel, *daynames;
+ const char *daynamel, *daynames;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|l", &julday, &mode) == FAILURE) {
RETURN_FALSE;
@@ -725,7 +725,7 @@ PHP_FUNCTION(jddayofweek)
PHP_FUNCTION(jdmonthname)
{
zend_long julday, mode;
- char *monthname = NULL;
+ const char *monthname = NULL;
int month, day, year;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &julday, &mode) == FAILURE) {
diff --git a/ext/calendar/dow.c b/ext/calendar/dow.c
index 44f0490ed1..466fb3be92 100644
--- a/ext/calendar/dow.c
+++ b/ext/calendar/dow.c
@@ -44,7 +44,7 @@ int DayOfWeek(
}
}
-char *DayNameShort[7] =
+const char * const DayNameShort[7] =
{
"Sun",
"Mon",
@@ -55,7 +55,7 @@ char *DayNameShort[7] =
"Sat"
};
-char *DayNameLong[7] =
+const char * const DayNameLong[7] =
{
"Sunday",
"Monday",
diff --git a/ext/calendar/french.c b/ext/calendar/french.c
index 4eb0e78021..3d52efec8a 100644
--- a/ext/calendar/french.c
+++ b/ext/calendar/french.c
@@ -131,7 +131,7 @@ zend_long FrenchToSdn(
+ FRENCH_SDN_OFFSET);
}
-char *FrenchMonthName[14] =
+const char * const FrenchMonthName[14] =
{
"",
"Vendemiaire",
diff --git a/ext/calendar/gregor.c b/ext/calendar/gregor.c
index 4c91fa8d54..dab12e5187 100644
--- a/ext/calendar/gregor.c
+++ b/ext/calendar/gregor.c
@@ -235,7 +235,7 @@ zend_long GregorianToSdn(
- GREGOR_SDN_OFFSET);
}
-char *MonthNameShort[13] =
+const char * const MonthNameShort[13] =
{
"",
"Jan",
@@ -252,7 +252,7 @@ char *MonthNameShort[13] =
"Dec"
};
-char *MonthNameLong[13] =
+const char * const MonthNameLong[13] =
{
"",
"January",
diff --git a/ext/calendar/jewish.c b/ext/calendar/jewish.c
index 53421aa306..c725ac95ed 100644
--- a/ext/calendar/jewish.c
+++ b/ext/calendar/jewish.c
@@ -287,19 +287,19 @@
#define AM3_11_20 ((9 * HALAKIM_PER_HOUR) + 204)
#define AM9_32_43 ((15 * HALAKIM_PER_HOUR) + 589)
-int monthsPerYear[19] =
+const int monthsPerYear[19] =
{
12, 12, 13, 12, 12, 13, 12, 13, 12, 12, 13, 12, 12, 13, 12, 12, 13, 12, 13
};
-static int yearOffset[19] =
+static const int yearOffset[19] =
{
0, 12, 24, 37, 49, 61, 74, 86, 99, 111, 123,
136, 148, 160, 173, 185, 197, 210, 222
};
/* names for leap (13-month) year */
-char *JewishMonthNameLeap[14] =
+const char * const JewishMonthNameLeap[14] =
{
"",
"Tishri",
@@ -318,7 +318,7 @@ char *JewishMonthNameLeap[14] =
};
/* names for regular year */
-char *JewishMonthName[14] =
+const char * const JewishMonthName[14] =
{
"",
"Tishri",
@@ -337,7 +337,7 @@ char *JewishMonthName[14] =
};
/* names for leap (13-month) year */
-char *JewishMonthHebNameLeap[14] =
+const char * const JewishMonthHebNameLeap[14] =
{
"",
"תשרי",
@@ -356,7 +356,7 @@ char *JewishMonthHebNameLeap[14] =
};
/* names for regular year */
-char *JewishMonthHebName[14] =
+const char * const JewishMonthHebName[14] =
{
"",
"תשרי",
diff --git a/ext/calendar/sdncal.h b/ext/calendar/sdncal.h
index c76fc0063b..fa3aa7c641 100644
--- a/ext/calendar/sdncal.h
+++ b/ext/calendar/sdncal.h
@@ -70,8 +70,8 @@
/* Gregorian calendar conversions. */
void SdnToGregorian(zend_long sdn, int *pYear, int *pMonth, int *pDay);
zend_long GregorianToSdn(int year, int month, int day);
-extern char *MonthNameShort[13];
-extern char *MonthNameLong[13];
+extern const char * const MonthNameShort[13];
+extern const char * const MonthNameLong[13];
/* Julian calendar conversions. */
void SdnToJulian(zend_long sdn, int *pYear, int *pMonth, int *pDay);
@@ -80,23 +80,23 @@ zend_long JulianToSdn(int year, int month, int day);
/* Jewish calendar conversions. */
void SdnToJewish(zend_long sdn, int *pYear, int *pMonth, int *pDay);
zend_long JewishToSdn(int year, int month, int day);
-extern char *JewishMonthName[14];
-extern char *JewishMonthNameLeap[14];
-extern char *JewishMonthHebName[14];
-extern char *JewishMonthHebNameLeap[14];
-extern int monthsPerYear[19];
+extern const char * const JewishMonthName[14];
+extern const char * const JewishMonthNameLeap[14];
+extern const char * const JewishMonthHebName[14];
+extern const char * const JewishMonthHebNameLeap[14];
+extern const int monthsPerYear[19];
/* French republic calendar conversions. */
void SdnToFrench(zend_long sdn, int *pYear, int *pMonth, int *pDay);
zend_long FrenchToSdn(int inputYear, int inputMonth, int inputDay);
-extern char *FrenchMonthName[14];
+extern const char * const FrenchMonthName[14];
/* Islamic calendar conversions. */
/* Not implemented yet. */
/* Day of week conversion. 0=Sunday, 6=Saturday */
int DayOfWeek(zend_long sdn);
-extern char *DayNameShort[7];
-extern char *DayNameLong[7];
+extern const char * const DayNameShort[7];
+extern const char * const DayNameLong[7];
#endif /* SDNCAL_H */
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 3715e53ddb..77cad2d415 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -1041,21 +1041,21 @@ PHPAPI timelib_tzinfo *get_timezone_info(void)
/* {{{ date() and gmdate() data */
#include "zend_smart_str.h"
-static char *mon_full_names[] = {
+static const char * const mon_full_names[] = {
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
};
-static char *mon_short_names[] = {
+static const char * const mon_short_names[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
-static char *day_full_names[] = {
+static const char * const day_full_names[] = {
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
};
-static char *day_short_names[] = {
+static const char * const day_short_names[] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
@@ -1075,7 +1075,7 @@ static char *english_suffix(timelib_sll number)
/* }}} */
/* {{{ day of week helpers */
-char *php_date_full_day_name(timelib_sll y, timelib_sll m, timelib_sll d)
+static const char *php_date_full_day_name(timelib_sll y, timelib_sll m, timelib_sll d)
{
timelib_sll day_of_week = timelib_day_of_week(y, m, d);
if (day_of_week < 0) {
@@ -1084,7 +1084,7 @@ char *php_date_full_day_name(timelib_sll y, timelib_sll m, timelib_sll d)
return day_full_names[day_of_week];
}
-char *php_date_short_day_name(timelib_sll y, timelib_sll m, timelib_sll d)
+static const char *php_date_short_day_name(timelib_sll y, timelib_sll m, timelib_sll d)
{
timelib_sll day_of_week = timelib_day_of_week(y, m, d);
if (day_of_week < 0) {
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index 7a5e846444..d2f6f3377e 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -221,7 +221,7 @@ static int php_iconv_output_handler(void **nothing, php_output_context *output_c
/* }}} */
/* {{{ static globals */
-static char _generic_superset_name[] = ICONV_UCS4_ENCODING;
+static const char _generic_superset_name[] = ICONV_UCS4_ENCODING;
#define GENERIC_SUPERSET_NAME _generic_superset_name
#define GENERIC_SUPERSET_NBYTES 4
/* }}} */
@@ -2828,7 +2828,7 @@ static void php_iconv_stream_filter_cleanup(php_stream_filter *filter)
}
/* }}} */
-static php_stream_filter_ops php_iconv_stream_filter_ops = {
+static const php_stream_filter_ops php_iconv_stream_filter_ops = {
php_iconv_stream_filter_do_filter,
php_iconv_stream_filter_cleanup,
"convert.iconv.*"
@@ -2880,7 +2880,7 @@ static php_stream_filter *php_iconv_stream_filter_factory_create(const char *nam
/* {{{ php_iconv_stream_register_factory */
static php_iconv_err_t php_iconv_stream_filter_register_factory(void)
{
- static php_stream_filter_factory filter_factory = {
+ static const php_stream_filter_factory filter_factory = {
php_iconv_stream_filter_factory_create
};
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index dbb6bf9373..086920846b 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -588,7 +588,7 @@ zend_module_entry mbstring_module_entry = {
/* }}} */
/* {{{ static sapi_post_entry php_post_entries[] */
-static sapi_post_entry php_post_entries[] = {
+static const sapi_post_entry php_post_entries[] = {
{ DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data, php_std_post_handler },
{ MULTIPART_CONTENT_TYPE, sizeof(MULTIPART_CONTENT_TYPE)-1, NULL, rfc1867_post_handler },
{ NULL, 0, NULL, NULL }
@@ -678,7 +678,7 @@ static mbfl_allocators _php_mb_allocators = {
/* }}} */
/* {{{ static sapi_post_entry mbstr_post_entries[] */
-static sapi_post_entry mbstr_post_entries[] = {
+static const sapi_post_entry mbstr_post_entries[] = {
{ DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data, php_mb_post_handler },
{ MULTIPART_CONTENT_TYPE, sizeof(MULTIPART_CONTENT_TYPE)-1, NULL, rfc1867_post_handler },
{ NULL, 0, NULL, NULL }
diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c
index 8d4634d005..a83b3f8b55 100644
--- a/ext/opcache/zend_accelerator_util_funcs.c
+++ b/ext/opcache/zend_accelerator_util_funcs.c
@@ -713,7 +713,7 @@ zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script,
if (persistent_script->compiler_halt_offset != 0 &&
persistent_script->script.filename) {
zend_string *name;
- char haltoff[] = "__COMPILER_HALT_OFFSET__";
+ static const char haltoff[] = "__COMPILER_HALT_OFFSET__";
name = zend_mangle_property_name(haltoff, sizeof(haltoff) - 1, ZSTR_VAL(persistent_script->script.filename), ZSTR_LEN(persistent_script->script.filename), 0);
if (!zend_hash_exists(EG(zend_constants), name)) {
diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
index 9f7773039f..d385400136 100644
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@ -106,7 +106,7 @@ static struct timeval php_openssl_subtract_timeval(struct timeval a, struct time
static int php_openssl_compare_timeval(struct timeval a, struct timeval b);
static size_t php_openssl_sockop_io(int read, php_stream *stream, char *buf, size_t count);
-php_stream_ops php_openssl_socket_ops;
+const php_stream_ops php_openssl_socket_ops;
/* Certificate contexts used for server-side SNI selection */
typedef struct _php_openssl_sni_cert_t {
@@ -2539,7 +2539,7 @@ static int php_openssl_sockop_cast(php_stream *stream, int castas, void **ret)
}
/* }}} */
-php_stream_ops php_openssl_socket_ops = {
+const php_stream_ops php_openssl_socket_ops = {
php_openssl_sockop_write, php_openssl_sockop_read,
php_openssl_sockop_close, php_openssl_sockop_flush,
"tcp_socket/ssl",
diff --git a/ext/pdo_oci/oci_statement.c b/ext/pdo_oci/oci_statement.c
index 2d64e242aa..02c8df161c 100644
--- a/ext/pdo_oci/oci_statement.c
+++ b/ext/pdo_oci/oci_statement.c
@@ -719,7 +719,7 @@ static int oci_blob_seek(php_stream *stream, zend_off_t offset, int whence, zend
}
}
-static php_stream_ops oci_blob_stream_ops = {
+static const php_stream_ops oci_blob_stream_ops = {
oci_blob_write,
oci_blob_read,
oci_blob_close,
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c
index 93e73e8b38..5cfe229bc1 100644
--- a/ext/pdo_pgsql/pgsql_driver.c
+++ b/ext/pdo_pgsql/pgsql_driver.c
@@ -176,7 +176,7 @@ static int pgsql_lob_seek(php_stream *stream, zend_off_t offset, int whence,
return pos >= 0 ? 0 : -1;
}
-php_stream_ops pdo_pgsql_lob_stream_ops = {
+const php_stream_ops pdo_pgsql_lob_stream_ops = {
pgsql_lob_write,
pgsql_lob_read,
pgsql_lob_close,
diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h
index 916b35c6b6..8a0d96420e 100644
--- a/ext/pdo_pgsql/php_pdo_pgsql_int.h
+++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h
@@ -109,7 +109,7 @@ enum pdo_pgsql_specific_constants {
};
php_stream *pdo_pgsql_create_lob_stream(zval *pdh, int lfd, Oid oid);
-extern php_stream_ops pdo_pgsql_lob_stream_ops;
+extern const php_stream_ops pdo_pgsql_lob_stream_ops;
#endif /* PHP_PDO_PGSQL_INT_H */
diff --git a/ext/pgsql/php_pgsql.h b/ext/pgsql/php_pgsql.h
index ea656dbc86..d65acdbf93 100644
--- a/ext/pgsql/php_pgsql.h
+++ b/ext/pgsql/php_pgsql.h
@@ -298,7 +298,7 @@ typedef struct _php_pgsql_notice {
size_t len;
} php_pgsql_notice;
-static php_stream_ops php_stream_pgsql_fd_ops = {
+static const php_stream_ops php_stream_pgsql_fd_ops = {
php_pgsql_fd_write,
php_pgsql_fd_read,
php_pgsql_fd_close,
diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c
index 25374e9fa7..a87997fbc6 100644
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@ -25,7 +25,7 @@ BEGIN_EXTERN_C()
void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb, zend_bool is_dir);
END_EXTERN_C()
-php_stream_ops phar_dir_ops = {
+const php_stream_ops phar_dir_ops = {
phar_dir_write, /* write */
phar_dir_read, /* read */
phar_dir_close, /* close */
diff --git a/ext/phar/stream.c b/ext/phar/stream.c
index 65eabd901b..3ef49529c2 100644
--- a/ext/phar/stream.c
+++ b/ext/phar/stream.c
@@ -22,7 +22,7 @@
#include "stream.h"
#include "dirstream.h"
-php_stream_ops phar_ops = {
+const php_stream_ops phar_ops = {
phar_stream_write, /* write */
phar_stream_read, /* read */
phar_stream_close, /* close */
@@ -34,7 +34,7 @@ php_stream_ops phar_ops = {
NULL, /* set option */
};
-php_stream_wrapper_ops phar_stream_wops = {
+const php_stream_wrapper_ops phar_stream_wops = {
phar_wrapper_open_url,
NULL, /* phar_wrapper_close */
NULL, /* phar_wrapper_stat, */
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c
index 38cc80236e..6e86149de5 100644
--- a/ext/session/mod_files.c
+++ b/ext/session/mod_files.c
@@ -100,7 +100,7 @@ typedef struct {
int fd;
} ps_files;
-ps_module ps_mod_files = {
+const ps_module ps_mod_files = {
/* New save handlers MUST use PS_MOD_UPDATE_TIMESTAMP macro */
PS_MOD_UPDATE_TIMESTAMP(files)
};
diff --git a/ext/session/mod_files.h b/ext/session/mod_files.h
index 0813325601..474295cade 100644
--- a/ext/session/mod_files.h
+++ b/ext/session/mod_files.h
@@ -21,7 +21,7 @@
#ifndef MOD_FILES_H
#define MOD_FILES_H
-extern ps_module ps_mod_files;
+extern const ps_module ps_mod_files;
#define ps_files_ptr &ps_mod_files
PS_FUNCS_UPDATE_TIMESTAMP(files);
diff --git a/ext/session/mod_mm.c b/ext/session/mod_mm.c
index 2b54b3fad9..f076adcbf9 100644
--- a/ext/session/mod_mm.c
+++ b/ext/session/mod_mm.c
@@ -219,7 +219,7 @@ static int ps_mm_key_exists(ps_mm *data, const char *key)
return FAILURE;
}
-ps_module ps_mod_mm = {
+const ps_module ps_mod_mm = {
PS_MOD_SID(mm)
};
diff --git a/ext/session/mod_mm.h b/ext/session/mod_mm.h
index 30f4bf8278..10d60942d6 100644
--- a/ext/session/mod_mm.h
+++ b/ext/session/mod_mm.h
@@ -28,7 +28,7 @@
PHP_MINIT_FUNCTION(ps_mm);
PHP_MSHUTDOWN_FUNCTION(ps_mm);
-extern ps_module ps_mod_mm;
+extern const ps_module ps_mod_mm;
#define ps_mm_ptr &ps_mod_mm
PS_FUNCS(mm);
diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c
index 2424049b19..b6337b9cde 100644
--- a/ext/session/mod_user.c
+++ b/ext/session/mod_user.c
@@ -22,7 +22,7 @@
#include "php_session.h"
#include "mod_user.h"
-ps_module ps_mod_user = {
+const ps_module ps_mod_user = {
PS_MOD_UPDATE_TIMESTAMP(user)
};
diff --git a/ext/session/mod_user.h b/ext/session/mod_user.h
index 474b3b64e0..2bcc03ef8f 100644
--- a/ext/session/mod_user.h
+++ b/ext/session/mod_user.h
@@ -21,7 +21,7 @@
#ifndef MOD_USER_H
#define MOD_USER_H
-extern ps_module ps_mod_user;
+extern const ps_module ps_mod_user;
#define ps_user_ptr &ps_mod_user
PS_FUNCS_UPDATE_TIMESTAMP(user);
diff --git a/ext/session/php_session.h b/ext/session/php_session.h
index 5e1e4f0773..c9ab6ea7e0 100644
--- a/ext/session/php_session.h
+++ b/ext/session/php_session.h
@@ -157,8 +157,8 @@ typedef struct _php_ps_globals {
char *cookie_domain;
zend_bool cookie_secure;
zend_bool cookie_httponly;
- ps_module *mod;
- ps_module *default_mod;
+ const ps_module *mod;
+ const ps_module *default_mod;
void *mod_data;
php_session_status session_status;
zend_long gc_probability;
@@ -260,7 +260,7 @@ PHPAPI void php_add_session_var(zend_string *name);
PHPAPI zval *php_set_session_var(zend_string *name, zval *state_val, php_unserialize_data_t *var_hash);
PHPAPI zval *php_get_session_var(zend_string *name);
-PHPAPI int php_session_register_module(ps_module *);
+PHPAPI int php_session_register_module(const ps_module *);
PHPAPI int php_session_register_serializer(const char *name,
zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS),
@@ -270,7 +270,7 @@ PHPAPI void php_session_set_id(char *id);
PHPAPI int php_session_start(void);
PHPAPI int php_session_flush(int write);
-PHPAPI ps_module *_php_find_ps_module(char *name);
+PHPAPI const ps_module *_php_find_ps_module(char *name);
PHPAPI const ps_serializer *_php_find_ps_serializer(char *name);
PHPAPI int php_session_valid_key(const char *key);
diff --git a/ext/session/session.c b/ext/session/session.c
index fc666fc655..1477ef951b 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -533,7 +533,7 @@ static void php_session_normalize_vars() /* {{{ */
static PHP_INI_MH(OnUpdateSaveHandler) /* {{{ */
{
- ps_module *tmp;
+ const ps_module *tmp;
SESSION_CHECK_ACTIVE_STATE;
SESSION_CHECK_OUTPUT_STATE;
@@ -1059,12 +1059,12 @@ PHPAPI int php_session_register_serializer(const char *name, zend_string *(*enco
#define MAX_MODULES 32
#define PREDEFINED_MODULES 2
-static ps_module *ps_modules[MAX_MODULES + 1] = {
+static const ps_module *ps_modules[MAX_MODULES + 1] = {
ps_files_ptr,
ps_user_ptr
};
-PHPAPI int php_session_register_module(ps_module *ptr) /* {{{ */
+PHPAPI int php_session_register_module(const ps_module *ptr) /* {{{ */
{
int ret = FAILURE;
int i;
@@ -1208,7 +1208,7 @@ CACHE_LIMITER_FUNC(nocache) /* {{{ */
}
/* }}} */
-static php_session_cache_limiter_t php_session_cache_limiters[] = {
+static const php_session_cache_limiter_t php_session_cache_limiters[] = {
CACHE_LIMITER_ENTRY(public)
CACHE_LIMITER_ENTRY(private)
CACHE_LIMITER_ENTRY(private_no_expire)
@@ -1218,7 +1218,7 @@ static php_session_cache_limiter_t php_session_cache_limiters[] = {
static int php_session_cache_limiter(void) /* {{{ */
{
- php_session_cache_limiter_t *lim;
+ const php_session_cache_limiter_t *lim;
if (PS(cache_limiter)[0] == '\0') return 0;
if (PS(session_status) != php_session_active) return -1;
@@ -1374,10 +1374,10 @@ static int php_session_send_cookie(void) /* {{{ */
}
/* }}} */
-PHPAPI ps_module *_php_find_ps_module(char *name) /* {{{ */
+PHPAPI const ps_module *_php_find_ps_module(char *name) /* {{{ */
{
- ps_module *ret = NULL;
- ps_module **mod;
+ const ps_module *ret = NULL;
+ const ps_module **mod;
int i;
for (i = 0, mod = ps_modules; i < MAX_MODULES; i++, mod++) {
@@ -2913,7 +2913,7 @@ static PHP_MSHUTDOWN_FUNCTION(session) /* {{{ */
static PHP_MINFO_FUNCTION(session) /* {{{ */
{
- ps_module **mod;
+ const ps_module **mod;
ps_serializer *ser;
smart_str save_handlers = {0};
smart_str ser_handlers = {0};
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index f659445bbd..edaf253c67 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -1205,7 +1205,7 @@ static int php_sqlite3_stream_stat(php_stream *stream, php_stream_statbuf *ssb)
return 0;
}
-static php_stream_ops php_stream_sqlite3_ops = {
+static const php_stream_ops php_stream_sqlite3_ops = {
php_sqlite3_stream_write,
php_sqlite3_stream_read,
php_sqlite3_stream_close,
diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c
index 059d42bb58..07ae1201b6 100644
--- a/ext/standard/datetime.c
+++ b/ext/standard/datetime.c
@@ -31,21 +31,21 @@
#endif
#include <stdio.h>
-char *mon_full_names[] = {
+static const char * const mon_full_names[] = {
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
};
-char *mon_short_names[] = {
+static const char * const mon_short_names[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
-char *day_full_names[] = {
+static const char * const day_full_names[] = {
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
};
-char *day_short_names[] = {
+static const char * const day_short_names[] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
diff --git a/ext/standard/filters.c b/ext/standard/filters.c
index 3a9daf293e..15123db90e 100644
--- a/ext/standard/filters.c
+++ b/ext/standard/filters.c
@@ -30,8 +30,8 @@
#include "zend_smart_str.h"
/* {{{ rot13 stream filter implementation */
-static char rot13_from[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-static char rot13_to[] = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM";
+static const char rot13_from[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+static const char rot13_to[] = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM";
static php_stream_filter_status_t strfilter_rot13_filter(
php_stream *stream,
@@ -61,7 +61,7 @@ static php_stream_filter_status_t strfilter_rot13_filter(
return PSFS_PASS_ON;
}
-static php_stream_filter_ops strfilter_rot13_ops = {
+static const php_stream_filter_ops strfilter_rot13_ops = {
strfilter_rot13_filter,
NULL,
"string.rot13"
@@ -72,14 +72,14 @@ static php_stream_filter *strfilter_rot13_create(const char *filtername, zval *f
return php_stream_filter_alloc(&strfilter_rot13_ops, NULL, persistent);
}
-static php_stream_filter_factory strfilter_rot13_factory = {
+static const php_stream_filter_factory strfilter_rot13_factory = {
strfilter_rot13_create
};
/* }}} */
/* {{{ string.toupper / string.tolower stream filter implementation */
-static char lowercase[] = "abcdefghijklmnopqrstuvwxyz";
-static char uppercase[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+static const char lowercase[] = "abcdefghijklmnopqrstuvwxyz";
+static const char uppercase[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static php_stream_filter_status_t strfilter_toupper_filter(
php_stream *stream,
@@ -137,13 +137,13 @@ static php_stream_filter_status_t strfilter_tolower_filter(
return PSFS_PASS_ON;
}
-static php_stream_filter_ops strfilter_toupper_ops = {
+static const php_stream_filter_ops strfilter_toupper_ops = {
strfilter_toupper_filter,
NULL,
"string.toupper"
};
-static php_stream_filter_ops strfilter_tolower_ops = {
+static const php_stream_filter_ops strfilter_tolower_ops = {
strfilter_tolower_filter,
NULL,
"string.tolower"
@@ -159,11 +159,11 @@ static php_stream_filter *strfilter_tolower_create(const char *filtername, zval
return php_stream_filter_alloc(&strfilter_tolower_ops, NULL, persistent);
}
-static php_stream_filter_factory strfilter_toupper_factory = {
+static const php_stream_filter_factory strfilter_toupper_factory = {
strfilter_toupper_create
};
-static php_stream_filter_factory strfilter_tolower_factory = {
+static const php_stream_filter_factory strfilter_tolower_factory = {
strfilter_tolower_create
};
/* }}} */
@@ -236,7 +236,7 @@ static void strfilter_strip_tags_dtor(php_stream_filter *thisfilter)
pefree(Z_PTR(thisfilter->abstract), ((php_strip_tags_filter *)Z_PTR(thisfilter->abstract))->persistent);
}
-static php_stream_filter_ops strfilter_strip_tags_ops = {
+static const php_stream_filter_ops strfilter_strip_tags_ops = {
strfilter_strip_tags_filter,
strfilter_strip_tags_dtor,
"string.strip_tags"
@@ -278,7 +278,7 @@ static php_stream_filter *strfilter_strip_tags_create(const char *filtername, zv
return php_stream_filter_alloc(&strfilter_strip_tags_ops, inst, persistent);
}
-static php_stream_filter_factory strfilter_strip_tags_factory = {
+static const php_stream_filter_factory strfilter_strip_tags_factory = {
strfilter_strip_tags_create
};
@@ -1688,7 +1688,7 @@ static void strfilter_convert_dtor(php_stream_filter *thisfilter)
pefree(Z_PTR(thisfilter->abstract), ((php_convert_filter *)Z_PTR(thisfilter->abstract))->persistent);
}
-static php_stream_filter_ops strfilter_convert_ops = {
+static const php_stream_filter_ops strfilter_convert_ops = {
strfilter_convert_filter,
strfilter_convert_dtor,
"convert.*"
@@ -1739,7 +1739,7 @@ out:
return retval;
}
-static php_stream_filter_factory strfilter_convert_factory = {
+static const php_stream_filter_factory strfilter_convert_factory = {
strfilter_convert_create
};
/* }}} */
@@ -1791,7 +1791,7 @@ static void consumed_filter_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops consumed_filter_ops = {
+static const php_stream_filter_ops consumed_filter_ops = {
consumed_filter_filter,
consumed_filter_dtor,
"consumed"
@@ -1799,7 +1799,7 @@ static php_stream_filter_ops consumed_filter_ops = {
static php_stream_filter *consumed_filter_create(const char *filtername, zval *filterparams, uint8_t persistent)
{
- php_stream_filter_ops *fops = NULL;
+ const php_stream_filter_ops *fops = NULL;
php_consumed_filter_data *data;
if (strcasecmp(filtername, "consumed")) {
@@ -1816,7 +1816,7 @@ static php_stream_filter *consumed_filter_create(const char *filtername, zval *f
return php_stream_filter_alloc(fops, data, persistent);
}
-php_stream_filter_factory consumed_filter_factory = {
+const const php_stream_filter_factory consumed_filter_factory = {
consumed_filter_create
};
@@ -1995,7 +1995,7 @@ static void php_chunked_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops chunked_filter_ops = {
+static const php_stream_filter_ops chunked_filter_ops = {
php_chunked_filter,
php_chunked_dtor,
"dechunk"
@@ -2003,7 +2003,7 @@ static php_stream_filter_ops chunked_filter_ops = {
static php_stream_filter *chunked_filter_create(const char *filtername, zval *filterparams, uint8_t persistent)
{
- php_stream_filter_ops *fops = NULL;
+ const php_stream_filter_ops *fops = NULL;
php_chunked_filter_data *data;
if (strcasecmp(filtername, "dechunk")) {
@@ -2020,14 +2020,14 @@ static php_stream_filter *chunked_filter_create(const char *filtername, zval *fi
return php_stream_filter_alloc(fops, data, persistent);
}
-static php_stream_filter_factory chunked_filter_factory = {
+static const php_stream_filter_factory chunked_filter_factory = {
chunked_filter_create
};
/* }}} */
static const struct {
- php_stream_filter_ops *ops;
- php_stream_filter_factory *factory;
+ const php_stream_filter_ops *ops;
+ const php_stream_filter_factory *factory;
} standard_filters[] = {
{ &strfilter_rot13_ops, &strfilter_rot13_factory },
{ &strfilter_toupper_ops, &strfilter_toupper_factory },
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c
index 596a98045e..2b49568e04 100644
--- a/ext/standard/formatted_print.c
+++ b/ext/standard/formatted_print.c
@@ -52,8 +52,8 @@
# define PRINTF_DEBUG(arg)
#endif
-static char hexchars[] = "0123456789abcdef";
-static char HEXCHARS[] = "0123456789ABCDEF";
+static const char hexchars[] = "0123456789abcdef";
+static const char HEXCHARS[] = "0123456789ABCDEF";
/* php_spintf_appendchar() {{{ */
inline static void
@@ -309,7 +309,7 @@ php_sprintf_appenddouble(zend_string **buffer, size_t *pos,
inline static void
php_sprintf_append2n(zend_string **buffer, size_t *pos, zend_long number,
size_t width, char padding, size_t alignment, int n,
- char *chartable, int expprec)
+ const char *chartable, int expprec)
{
char numbuf[NUM_BUF_SIZE];
register zend_ulong num;
diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c
index dfa011c891..f8491ccd05 100644
--- a/ext/standard/ftp_fopen_wrapper.c
+++ b/ext/standard/ftp_fopen_wrapper.c
@@ -669,7 +669,7 @@ static int php_ftp_dirstream_close(php_stream *stream, int close_handle)
/* ftp dirstreams only need to support read and close operations,
They can't be rewound because the underlying ftp stream can't be rewound. */
-static php_stream_ops php_ftp_dirstream_ops = {
+static const php_stream_ops php_ftp_dirstream_ops = {
NULL, /* write */
php_ftp_dirstream_read, /* read */
php_ftp_dirstream_close, /* close */
@@ -1170,7 +1170,7 @@ rmdir_errexit:
}
/* }}} */
-static php_stream_wrapper_ops ftp_stream_wops = {
+static const php_stream_wrapper_ops ftp_stream_wops = {
php_stream_url_wrap_ftp,
php_stream_ftp_stream_close, /* stream_close */
php_stream_ftp_stream_stat,
diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c
index ae0e23ff1f..c9cb03518d 100644
--- a/ext/standard/http_fopen_wrapper.c
+++ b/ext/standard/http_fopen_wrapper.c
@@ -1003,7 +1003,7 @@ static int php_stream_http_stream_stat(php_stream_wrapper *wrapper, php_stream *
}
/* }}} */
-static php_stream_wrapper_ops http_stream_wops = {
+static const php_stream_wrapper_ops http_stream_wops = {
php_stream_url_wrap_http,
NULL, /* stream_close */
php_stream_http_stream_stat,
diff --git a/ext/standard/metaphone.c b/ext/standard/metaphone.c
index c1b3389427..3ff933d3ff 100644
--- a/ext/standard/metaphone.c
+++ b/ext/standard/metaphone.c
@@ -78,7 +78,7 @@ PHP_FUNCTION(metaphone)
/* Metachar.h ... little bits about characters for metaphone */
/*-- Character encoding array & accessing macros --*/
/* Stolen directly out of the book... */
-char _codes[26] =
+static const char _codes[26] =
{
1, 16, 4, 16, 9, 2, 4, 16, 9, 2, 0, 2, 2, 2, 1, 4, 0, 2, 4, 4, 1, 0, 0, 0, 8, 0
/* a b c d e f g h i j k l m n o p q r s t u v w x y z */
diff --git a/ext/standard/php_fopen_wrapper.c b/ext/standard/php_fopen_wrapper.c
index 613c21ac34..9ac006b01a 100644
--- a/ext/standard/php_fopen_wrapper.c
+++ b/ext/standard/php_fopen_wrapper.c
@@ -52,7 +52,7 @@ static int php_stream_output_close(php_stream *stream, int close_handle) /* {{{
}
/* }}} */
-php_stream_ops php_stream_output_ops = {
+const php_stream_ops php_stream_output_ops = {
php_stream_output_write,
php_stream_output_read,
php_stream_output_close,
@@ -137,7 +137,7 @@ static int php_stream_input_seek(php_stream *stream, zend_off_t offset, int when
}
/* }}} */
-php_stream_ops php_stream_input_ops = {
+const php_stream_ops php_stream_input_ops = {
php_stream_input_write,
php_stream_input_read,
php_stream_input_close,
@@ -423,7 +423,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *pa
}
/* }}} */
-static php_stream_wrapper_ops php_stdio_wops = {
+static const php_stream_wrapper_ops php_stdio_wops = {
php_stream_url_wrap_php,
NULL, /* close */
NULL, /* fstat */
diff --git a/ext/standard/php_string.h b/ext/standard/php_string.h
index d5d3e09f81..7c6b10638d 100644
--- a/ext/standard/php_string.h
+++ b/ext/standard/php_string.h
@@ -124,7 +124,7 @@ PHPAPI char *php_strtoupper(char *s, size_t len);
PHPAPI char *php_strtolower(char *s, size_t len);
PHPAPI zend_string *php_string_toupper(zend_string *s);
PHPAPI zend_string *php_string_tolower(zend_string *s);
-PHPAPI char *php_strtr(char *str, size_t len, char *str_from, char *str_to, size_t trlen);
+PHPAPI char *php_strtr(char *str, size_t len, const char *str_from, const char *str_to, size_t trlen);
PHPAPI zend_string *php_addslashes(zend_string *str, int should_free);
PHPAPI zend_string *php_addcslashes(zend_string *str, int freeit, char *what, size_t what_len);
PHPAPI void php_stripslashes(zend_string *str);
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 2526dae144..1146f170c0 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -2889,7 +2889,7 @@ PHP_FUNCTION(ucwords)
/* {{{ php_strtr
*/
-PHPAPI char *php_strtr(char *str, size_t len, char *str_from, char *str_to, size_t trlen)
+PHPAPI char *php_strtr(char *str, size_t len, const char *str_from, const char *str_to, size_t trlen)
{
size_t i;
@@ -2924,7 +2924,7 @@ PHPAPI char *php_strtr(char *str, size_t len, char *str_from, char *str_to, size
/* {{{ php_strtr_ex
*/
-static zend_string *php_strtr_ex(zend_string *str, char *str_from, char *str_to, size_t trlen)
+static zend_string *php_strtr_ex(zend_string *str, const char *str_from, const char *str_to, size_t trlen)
{
zend_string *new_str = NULL;
size_t i;
@@ -5443,8 +5443,8 @@ PHP_FUNCTION(sscanf)
}
/* }}} */
-static char rot13_from[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-static char rot13_to[] = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM";
+static const char rot13_from[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+static const char rot13_to[] = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM";
/* {{{ proto string str_rot13(string str)
Perform the rot13 transform on a string */
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index 1f39464a97..7408113cf5 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -254,7 +254,7 @@ php_stream_filter_status_t userfilter_filter(
return ret;
}
-static php_stream_filter_ops userfilter_ops = {
+static const php_stream_filter_ops userfilter_ops = {
userfilter_filter,
userfilter_dtor,
"user-filter"
@@ -380,7 +380,7 @@ static php_stream_filter *user_filter_factory_create(const char *filtername,
return filter;
}
-static php_stream_filter_factory user_filter_factory = {
+static const php_stream_filter_factory user_filter_factory = {
user_filter_factory_create
};
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index bbfb7e20c1..4f753beb94 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -270,7 +270,7 @@ zend_module_entry xml_module_entry = {
/* All the encoding functions are set to NULL right now, since all
* the encoding is currently done internally by expat/xmltok.
*/
-xml_encoding xml_encodings[] = {
+const xml_encoding xml_encodings[] = {
{ (XML_Char *)"ISO-8859-1", xml_decode_iso_8859_1, xml_encode_iso_8859_1 },
{ (XML_Char *)"US-ASCII", xml_decode_us_ascii, xml_encode_us_ascii },
{ (XML_Char *)"UTF-8", NULL, NULL },
@@ -537,9 +537,9 @@ inline static char xml_decode_us_ascii(unsigned short c)
/* }}} */
/* {{{ xml_get_encoding() */
-static xml_encoding *xml_get_encoding(const XML_Char *name)
+static const xml_encoding *xml_get_encoding(const XML_Char *name)
{
- xml_encoding *enc = &xml_encodings[0];
+ const xml_encoding *enc = &xml_encodings[0];
while (enc && enc->name) {
if (strcasecmp((char *)name, (char *)enc->name) == 0) {
@@ -558,7 +558,7 @@ PHP_XML_API zend_string *xml_utf8_encode(const char *s, size_t len, const XML_Ch
zend_string *str;
unsigned int c;
unsigned short (*encoder)(unsigned char) = NULL;
- xml_encoding *enc = xml_get_encoding(encoding);
+ const xml_encoding *enc = xml_get_encoding(encoding);
if (enc) {
encoder = enc->encoding_function;
@@ -608,7 +608,7 @@ PHP_XML_API zend_string *xml_utf8_decode(const XML_Char *s, size_t len, const XM
size_t pos = 0;
unsigned int c;
char (*decoder)(unsigned short) = NULL;
- xml_encoding *enc = xml_get_encoding(encoding);
+ const xml_encoding *enc = xml_get_encoding(encoding);
zend_string *str;
if (enc) {
@@ -1602,7 +1602,7 @@ PHP_FUNCTION(xml_parser_set_option)
parser->skipwhite = zval_get_long(val);
break;
case PHP_XML_OPTION_TARGET_ENCODING: {
- xml_encoding *enc;
+ const xml_encoding *enc;
convert_to_string_ex(val);
enc = xml_get_encoding((XML_Char*)Z_STRVAL_P(val));
if (enc == NULL) {
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c
index fca18540b1..d4c9d9394b 100644
--- a/ext/zip/zip_stream.c
+++ b/ext/zip/zip_stream.c
@@ -199,7 +199,7 @@ static int php_zip_ops_stat(php_stream *stream, php_stream_statbuf *ssb) /* {{{
}
/* }}} */
-php_stream_ops php_stream_zipio_ops = {
+const php_stream_ops php_stream_zipio_ops = {
php_zip_ops_write, php_zip_ops_read,
php_zip_ops_close, php_zip_ops_flush,
"zip",
@@ -348,7 +348,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper,
}
/* }}} */
-static php_stream_wrapper_ops zip_stream_wops = {
+static const php_stream_wrapper_ops zip_stream_wops = {
php_stream_zip_opener,
NULL, /* close */
NULL, /* fstat */
diff --git a/ext/zlib/php_zlib.h b/ext/zlib/php_zlib.h
index 01a08cc998..cf79ccd9c1 100644
--- a/ext/zlib/php_zlib.h
+++ b/ext/zlib/php_zlib.h
@@ -67,9 +67,9 @@ ZEND_END_MODULE_GLOBALS(zlib);
#define ZLIBG(v) ZEND_MODULE_GLOBALS_ACCESSOR(zlib, v)
php_stream *php_stream_gzopen(php_stream_wrapper *wrapper, const char *path, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC);
-extern php_stream_ops php_stream_gzio_ops;
+extern const php_stream_ops php_stream_gzio_ops;
extern php_stream_wrapper php_stream_gzip_wrapper;
-extern php_stream_filter_factory php_zlib_filter_factory;
+extern const php_stream_filter_factory php_zlib_filter_factory;
extern zend_module_entry php_zlib_module_entry;
#define zlib_module_ptr &php_zlib_module_entry
#define phpext_zlib_ptr zlib_module_ptr
diff --git a/ext/zlib/zlib_filter.c b/ext/zlib/zlib_filter.c
index e321d1546a..ad5b477292 100644
--- a/ext/zlib/zlib_filter.c
+++ b/ext/zlib/zlib_filter.c
@@ -167,7 +167,7 @@ static void php_zlib_inflate_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops php_zlib_inflate_ops = {
+static const php_stream_filter_ops php_zlib_inflate_ops = {
php_zlib_inflate_filter,
php_zlib_inflate_dtor,
"zlib.inflate"
@@ -276,7 +276,7 @@ static void php_zlib_deflate_dtor(php_stream_filter *thisfilter)
}
}
-static php_stream_filter_ops php_zlib_deflate_ops = {
+static const php_stream_filter_ops php_zlib_deflate_ops = {
php_zlib_deflate_filter,
php_zlib_deflate_dtor,
"zlib.deflate"
@@ -288,7 +288,7 @@ static php_stream_filter_ops php_zlib_deflate_ops = {
static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *filterparams, uint8_t persistent)
{
- php_stream_filter_ops *fops = NULL;
+ const php_stream_filter_ops *fops = NULL;
php_zlib_filter_data *data;
int status;
@@ -421,7 +421,7 @@ factory_setlevel:
return php_stream_filter_alloc(fops, data, persistent);
}
-php_stream_filter_factory php_zlib_filter_factory = {
+const php_stream_filter_factory php_zlib_filter_factory = {
php_zlib_filter_create
};
/* }}} */
diff --git a/ext/zlib/zlib_fopen_wrapper.c b/ext/zlib/zlib_fopen_wrapper.c
index 60147999fe..aea7d2def2 100644
--- a/ext/zlib/zlib_fopen_wrapper.c
+++ b/ext/zlib/zlib_fopen_wrapper.c
@@ -100,7 +100,7 @@ static int php_gziop_flush(php_stream *stream)
return gzflush(self->gz_file, Z_SYNC_FLUSH);
}
-php_stream_ops php_stream_gzio_ops = {
+const php_stream_ops php_stream_gzio_ops = {
php_gziop_write, php_gziop_read,
php_gziop_close, php_gziop_flush,
"ZLIB",
@@ -167,7 +167,7 @@ php_stream *php_stream_gzopen(php_stream_wrapper *wrapper, const char *path, con
return NULL;
}
-static php_stream_wrapper_ops gzip_stream_wops = {
+static const php_stream_wrapper_ops gzip_stream_wops = {
php_stream_gzopen,
NULL, /* close */
NULL, /* stat */
diff --git a/main/SAPI.c b/main/SAPI.c
index ed5aac072c..835bddab64 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -932,9 +932,9 @@ SAPI_API int sapi_send_headers(void)
}
-SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entries)
+SAPI_API int sapi_register_post_entries(const sapi_post_entry *post_entries)
{
- sapi_post_entry *p=post_entries;
+ const sapi_post_entry *p=post_entries;
while (p->content_type) {
if (sapi_register_post_entry(p) == FAILURE) {
@@ -946,7 +946,7 @@ SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entries)
}
-SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry)
+SAPI_API int sapi_register_post_entry(const sapi_post_entry *post_entry)
{
int ret;
zend_string *key;
@@ -961,7 +961,7 @@ SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry)
return ret;
}
-SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry)
+SAPI_API void sapi_unregister_post_entry(const sapi_post_entry *post_entry)
{
if (SG(sapi_started) && EG(current_execute_data)) {
return;
diff --git a/main/SAPI.h b/main/SAPI.h
index 1516702edf..e72f1bbb4e 100644
--- a/main/SAPI.h
+++ b/main/SAPI.h
@@ -190,9 +190,9 @@ SAPI_API int sapi_send_headers(void);
SAPI_API void sapi_free_header(sapi_header_struct *sapi_header);
SAPI_API void sapi_handle_post(void *arg);
SAPI_API size_t sapi_read_post_block(char *buffer, size_t buflen);
-SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entry);
-SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry);
-SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry);
+SAPI_API int sapi_register_post_entries(const sapi_post_entry *post_entry);
+SAPI_API int sapi_register_post_entry(const sapi_post_entry *post_entry);
+SAPI_API void sapi_unregister_post_entry(const sapi_post_entry *post_entry);
SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(void));
SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray));
SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, char *var, char **val, size_t val_len, size_t *new_val_len), unsigned int (*input_filter_init)(void));
diff --git a/main/php_content_types.c b/main/php_content_types.c
index 37da97a395..602061f417 100644
--- a/main/php_content_types.c
+++ b/main/php_content_types.c
@@ -26,7 +26,7 @@
/* {{{ php_post_entries[]
*/
-static sapi_post_entry php_post_entries[] = {
+static const sapi_post_entry php_post_entries[] = {
{ DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data, php_std_post_handler },
{ MULTIPART_CONTENT_TYPE, sizeof(MULTIPART_CONTENT_TYPE)-1, NULL, rfc1867_post_handler },
{ NULL, 0, NULL, NULL }
diff --git a/main/php_memory_streams.h b/main/php_memory_streams.h
index 271a9276e0..b7f0ce8488 100644
--- a/main/php_memory_streams.h
+++ b/main/php_memory_streams.h
@@ -56,9 +56,9 @@ PHPAPI const char *_php_stream_mode_to_str(int mode);
END_EXTERN_C()
-extern PHPAPI php_stream_ops php_stream_memory_ops;
-extern PHPAPI php_stream_ops php_stream_temp_ops;
-extern PHPAPI php_stream_ops php_stream_rfc2397_ops;
+extern PHPAPI const php_stream_ops php_stream_memory_ops;
+extern PHPAPI const php_stream_ops php_stream_temp_ops;
+extern PHPAPI const php_stream_ops php_stream_rfc2397_ops;
extern PHPAPI php_stream_wrapper php_stream_rfc2397_wrapper;
#define PHP_STREAM_IS_MEMORY &php_stream_memory_ops
diff --git a/main/php_network.h b/main/php_network.h
index ee02fd19fd..c5a297e2ec 100644
--- a/main/php_network.h
+++ b/main/php_network.h
@@ -299,8 +299,8 @@ struct _php_netstream_data_t {
size_t ownsize;
};
typedef struct _php_netstream_data_t php_netstream_data_t;
-PHPAPI extern php_stream_ops php_stream_socket_ops;
-extern php_stream_ops php_stream_generic_socket_ops;
+PHPAPI extern const php_stream_ops php_stream_socket_ops;
+extern const php_stream_ops php_stream_generic_socket_ops;
#define PHP_STREAM_IS_SOCKET (&php_stream_socket_ops)
BEGIN_EXTERN_C()
diff --git a/main/php_streams.h b/main/php_streams.h
index c268295933..ecc63cae42 100644
--- a/main/php_streams.h
+++ b/main/php_streams.h
@@ -161,7 +161,7 @@ typedef struct _php_stream_wrapper_ops {
} php_stream_wrapper_ops;
struct _php_stream_wrapper {
- php_stream_wrapper_ops *wops; /* operations the wrapper can perform */
+ const php_stream_wrapper_ops *wops; /* operations the wrapper can perform */
void *abstract; /* context for the wrapper */
int is_url; /* so that PG(allow_url_fopen) can be respected */
};
@@ -188,7 +188,7 @@ struct _php_stream_wrapper {
#define PHP_STREAM_FLAG_WAS_WRITTEN 0x80000000
struct _php_stream {
- php_stream_ops *ops;
+ const php_stream_ops *ops;
void *abstract; /* convenience pointer for abstraction */
php_stream_filter_chain readfilters, writefilters;
@@ -246,7 +246,7 @@ struct _php_stream {
/* allocate a new stream for a particular ops */
BEGIN_EXTERN_C()
-PHPAPI php_stream *_php_stream_alloc(php_stream_ops *ops, void *abstract,
+PHPAPI php_stream *_php_stream_alloc(const php_stream_ops *ops, void *abstract,
const char *persistent_id, const char *mode STREAMS_DC);
END_EXTERN_C()
#define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC)
@@ -593,7 +593,7 @@ PHPAPI HashTable *php_stream_get_url_stream_wrappers_hash_global(void);
PHPAPI HashTable *_php_get_stream_filters_hash(void);
#define php_get_stream_filters_hash() _php_get_stream_filters_hash()
PHPAPI HashTable *php_get_stream_filters_hash_global(void);
-extern php_stream_wrapper_ops *php_stream_user_wrapper_ops;
+extern const php_stream_wrapper_ops *php_stream_user_wrapper_ops;
END_EXTERN_C()
#endif
diff --git a/main/snprintf.c b/main/snprintf.c
index a6788c7f79..d71b732e3f 100644
--- a/main/snprintf.c
+++ b/main/snprintf.c
@@ -487,9 +487,9 @@ PHPAPI char * ap_php_conv_p2(register u_wide_int num, register int nbits, char f
{
register int mask = (1 << nbits) - 1;
register char *p = buf_end;
- static char low_digits[] = "0123456789abcdef";
- static char upper_digits[] = "0123456789ABCDEF";
- register char *digits = (format == 'X') ? upper_digits : low_digits;
+ static const char low_digits[] = "0123456789abcdef";
+ static const char upper_digits[] = "0123456789ABCDEF";
+ register const char *digits = (format == 'X') ? upper_digits : low_digits;
do {
*--p = digits[num & mask];
diff --git a/main/streams/filter.c b/main/streams/filter.c
index 16c99998f9..a09b9104c9 100644
--- a/main/streams/filter.c
+++ b/main/streams/filter.c
@@ -44,11 +44,11 @@ PHPAPI HashTable *_php_get_stream_filters_hash(void)
}
/* API for registering GLOBAL filters */
-PHPAPI int php_stream_filter_register_factory(const char *filterpattern, php_stream_filter_factory *factory)
+PHPAPI int php_stream_filter_register_factory(const char *filterpattern, const php_stream_filter_factory *factory)
{
int ret;
zend_string *str = zend_string_init_interned(filterpattern, strlen(filterpattern), 1);
- ret = zend_hash_add_ptr(&stream_filters_hash, str, factory) ? SUCCESS : FAILURE;
+ ret = zend_hash_add_ptr(&stream_filters_hash, str, (void*)factory) ? SUCCESS : FAILURE;
zend_string_release(str);
return ret;
}
@@ -59,7 +59,7 @@ PHPAPI int php_stream_filter_unregister_factory(const char *filterpattern)
}
/* API for registering VOLATILE wrappers */
-PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpattern, php_stream_filter_factory *factory)
+PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpattern, const php_stream_filter_factory *factory)
{
if (!FG(stream_filters)) {
ALLOC_HASHTABLE(FG(stream_filters));
@@ -67,7 +67,7 @@ PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpatter
zend_hash_copy(FG(stream_filters), &stream_filters_hash, NULL);
}
- return zend_hash_add_ptr(FG(stream_filters), filterpattern, factory) ? SUCCESS : FAILURE;
+ return zend_hash_add_ptr(FG(stream_filters), filterpattern, (void*)factory) ? SUCCESS : FAILURE;
}
/* Buckets */
@@ -224,7 +224,7 @@ PHPAPI void php_stream_bucket_unlink(php_stream_bucket *bucket)
PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval *filterparams, uint8_t persistent)
{
HashTable *filter_hash = (FG(stream_filters) ? FG(stream_filters) : &stream_filters_hash);
- php_stream_filter_factory *factory = NULL;
+ const php_stream_filter_factory *factory = NULL;
php_stream_filter *filter = NULL;
size_t n;
char *period;
@@ -264,7 +264,7 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval
return filter;
}
-PHPAPI php_stream_filter *_php_stream_filter_alloc(php_stream_filter_ops *fops, void *abstract, uint8_t persistent STREAMS_DC)
+PHPAPI php_stream_filter *_php_stream_filter_alloc(const php_stream_filter_ops *fops, void *abstract, uint8_t persistent STREAMS_DC)
{
php_stream_filter *filter;
diff --git a/main/streams/glob_wrapper.c b/main/streams/glob_wrapper.c
index 1350962837..0b992a1a23 100644
--- a/main/streams/glob_wrapper.c
+++ b/main/streams/glob_wrapper.c
@@ -195,7 +195,7 @@ static int php_glob_stream_rewind(php_stream *stream, zend_off_t offset, int whe
}
/* }}} */
-php_stream_ops php_glob_stream_ops = {
+const php_stream_ops php_glob_stream_ops = {
NULL, php_glob_stream_read,
php_glob_stream_close, NULL,
"glob",
@@ -261,7 +261,7 @@ static php_stream *php_glob_stream_opener(php_stream_wrapper *wrapper, const cha
}
/* }}} */
-static php_stream_wrapper_ops php_glob_stream_wrapper_ops = {
+static const php_stream_wrapper_ops php_glob_stream_wrapper_ops = {
NULL,
NULL,
NULL,
diff --git a/main/streams/memory.c b/main/streams/memory.c
index d6b0e5604b..c1ef32f88b 100644
--- a/main/streams/memory.c
+++ b/main/streams/memory.c
@@ -264,7 +264,7 @@ static int php_stream_memory_set_option(php_stream *stream, int option, int valu
}
/* }}} */
-PHPAPI php_stream_ops php_stream_memory_ops = {
+PHPAPI const php_stream_ops php_stream_memory_ops = {
php_stream_memory_write, php_stream_memory_read,
php_stream_memory_close, php_stream_memory_flush,
"MEMORY",
@@ -560,7 +560,7 @@ static int php_stream_temp_set_option(php_stream *stream, int option, int value,
}
/* }}} */
-PHPAPI php_stream_ops php_stream_temp_ops = {
+PHPAPI const php_stream_ops php_stream_temp_ops = {
php_stream_temp_write, php_stream_temp_read,
php_stream_temp_close, php_stream_temp_flush,
"TEMP",
@@ -622,7 +622,7 @@ PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char
}
/* }}} */
-PHPAPI php_stream_ops php_stream_rfc2397_ops = {
+PHPAPI const php_stream_ops php_stream_rfc2397_ops = {
php_stream_temp_write, php_stream_temp_read,
php_stream_temp_close, php_stream_temp_flush,
"RFC2397",
@@ -772,7 +772,7 @@ static php_stream * php_stream_url_wrap_rfc2397(php_stream_wrapper *wrapper, con
return stream;
}
-PHPAPI php_stream_wrapper_ops php_stream_rfc2397_wops = {
+PHPAPI const php_stream_wrapper_ops php_stream_rfc2397_wops = {
php_stream_url_wrap_rfc2397,
NULL, /* close */
NULL, /* fstat */
diff --git a/main/streams/php_stream_filter_api.h b/main/streams/php_stream_filter_api.h
index ad9c541f1d..061f8720d9 100644
--- a/main/streams/php_stream_filter_api.h
+++ b/main/streams/php_stream_filter_api.h
@@ -106,7 +106,7 @@ typedef struct _php_stream_filter_chain {
} php_stream_filter_chain;
struct _php_stream_filter {
- php_stream_filter_ops *fops;
+ const php_stream_filter_ops *fops;
zval abstract; /* for use by filter implementation */
php_stream_filter *next;
php_stream_filter *prev;
@@ -131,7 +131,7 @@ PHPAPI int php_stream_filter_append_ex(php_stream_filter_chain *chain, php_strea
PHPAPI int _php_stream_filter_flush(php_stream_filter *filter, int finish);
PHPAPI php_stream_filter *php_stream_filter_remove(php_stream_filter *filter, int call_dtor);
PHPAPI void php_stream_filter_free(php_stream_filter *filter);
-PHPAPI php_stream_filter *_php_stream_filter_alloc(php_stream_filter_ops *fops, void *abstract, uint8_t persistent STREAMS_DC);
+PHPAPI php_stream_filter *_php_stream_filter_alloc(const php_stream_filter_ops *fops, void *abstract, uint8_t persistent STREAMS_DC);
END_EXTERN_C()
#define php_stream_filter_alloc(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_CC)
#define php_stream_filter_alloc_rel(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_REL_CC)
@@ -146,9 +146,9 @@ typedef struct _php_stream_filter_factory {
} php_stream_filter_factory;
BEGIN_EXTERN_C()
-PHPAPI int php_stream_filter_register_factory(const char *filterpattern, php_stream_filter_factory *factory);
+PHPAPI int php_stream_filter_register_factory(const char *filterpattern, const php_stream_filter_factory *factory);
PHPAPI int php_stream_filter_unregister_factory(const char *filterpattern);
-PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpattern, php_stream_filter_factory *factory);
+PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpattern, const php_stream_filter_factory *factory);
PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval *filterparams, uint8_t persistent);
END_EXTERN_C()
diff --git a/main/streams/php_stream_glob_wrapper.h b/main/streams/php_stream_glob_wrapper.h
index cf3492cf6f..1eb2d8b0ca 100644
--- a/main/streams/php_stream_glob_wrapper.h
+++ b/main/streams/php_stream_glob_wrapper.h
@@ -18,8 +18,8 @@
/* $Id$ */
-PHPAPI extern php_stream_wrapper php_glob_stream_wrapper;
-PHPAPI extern php_stream_ops php_glob_stream_ops;
+PHPAPI extern php_stream_wrapper php_glob_stream_wrapper;
+PHPAPI extern const php_stream_ops php_glob_stream_ops;
BEGIN_EXTERN_C()
diff --git a/main/streams/php_stream_userspace.h b/main/streams/php_stream_userspace.h
index 8a8834dfba..951f8764a6 100644
--- a/main/streams/php_stream_userspace.h
+++ b/main/streams/php_stream_userspace.h
@@ -20,8 +20,8 @@
/* for user-space streams */
-PHPAPI extern php_stream_ops php_stream_userspace_ops;
-PHPAPI extern php_stream_ops php_stream_userspace_dir_ops;
+PHPAPI extern const php_stream_ops php_stream_userspace_ops;
+PHPAPI extern const php_stream_ops php_stream_userspace_dir_ops;
#define PHP_STREAM_IS_USERSPACE &php_stream_userspace_ops
#define PHP_STREAM_IS_USERSPACE_DIR &php_stream_userspace_dir_ops
diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c
index a5429138f3..33f425f812 100644
--- a/main/streams/plain_wrapper.c
+++ b/main/streams/plain_wrapper.c
@@ -881,6 +881,7 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void
}
}
+/* This should be "const", but phpdbg overwrite it */
PHPAPI php_stream_ops php_stream_stdio_ops = {
php_stdiop_write, php_stdiop_read,
php_stdiop_close, php_stdiop_flush,
@@ -923,7 +924,7 @@ static int php_plain_files_dirstream_rewind(php_stream *stream, zend_off_t offse
return 0;
}
-static php_stream_ops php_plain_files_dirstream_ops = {
+static const php_stream_ops php_plain_files_dirstream_ops = {
NULL, php_plain_files_dirstream_read,
php_plain_files_dirstream_close, NULL,
"dir",
@@ -1409,7 +1410,7 @@ static int php_plain_files_metadata(php_stream_wrapper *wrapper, const char *url
}
-static php_stream_wrapper_ops php_plain_files_wrapper_ops = {
+static const php_stream_wrapper_ops php_plain_files_wrapper_ops = {
php_plain_files_stream_opener,
NULL,
NULL,
diff --git a/main/streams/streams.c b/main/streams/streams.c
index c97ebd0239..cf334cb4df 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -267,7 +267,7 @@ PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int option
/* }}} */
/* allocate a new stream for a particular ops */
-PHPAPI php_stream *_php_stream_alloc(php_stream_ops *ops, void *abstract, const char *persistent_id, const char *mode STREAMS_DC) /* {{{ */
+PHPAPI php_stream *_php_stream_alloc(const php_stream_ops *ops, void *abstract, const char *persistent_id, const char *mode STREAMS_DC) /* {{{ */
{
php_stream *ret;
diff --git a/main/streams/userspace.c b/main/streams/userspace.c
index 59dddfd42d..893820cb90 100644
--- a/main/streams/userspace.c
+++ b/main/streams/userspace.c
@@ -55,7 +55,7 @@ static int user_wrapper_metadata(php_stream_wrapper *wrapper, const char *url, i
static php_stream *user_wrapper_opendir(php_stream_wrapper *wrapper, const char *filename, const char *mode,
int options, zend_string **opened_path, php_stream_context *context STREAMS_DC);
-static php_stream_wrapper_ops user_stream_wops = {
+static const php_stream_wrapper_ops user_stream_wops = {
user_wrapper_opener,
NULL, /* close - the streams themselves know how */
NULL, /* stat - the streams themselves know how */
@@ -1542,7 +1542,7 @@ static int php_userstreamop_cast(php_stream *stream, int castas, void **retptr)
return ret;
}
-php_stream_ops php_stream_userspace_ops = {
+const php_stream_ops php_stream_userspace_ops = {
php_userstreamop_write, php_userstreamop_read,
php_userstreamop_close, php_userstreamop_flush,
"user-space",
@@ -1552,7 +1552,7 @@ php_stream_ops php_stream_userspace_ops = {
php_userstreamop_set_option,
};
-php_stream_ops php_stream_userspace_dir_ops = {
+const php_stream_ops php_stream_userspace_dir_ops = {
NULL, /* write */
php_userstreamop_readdir,
php_userstreamop_closedir,
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c
index 57e2f22fba..bca06d0bc8 100644
--- a/main/streams/xp_socket.c
+++ b/main/streams/xp_socket.c
@@ -46,12 +46,12 @@
# define XP_SOCK_BUF_SIZE(sz) (sz)
#endif
-php_stream_ops php_stream_generic_socket_ops;
-PHPAPI php_stream_ops php_stream_socket_ops;
-php_stream_ops php_stream_udp_socket_ops;
+const php_stream_ops php_stream_generic_socket_ops;
+PHPAPI const php_stream_ops php_stream_socket_ops;
+const php_stream_ops php_stream_udp_socket_ops;
#ifdef AF_UNIX
-php_stream_ops php_stream_unix_socket_ops;
-php_stream_ops php_stream_unixdg_socket_ops;
+const php_stream_ops php_stream_unix_socket_ops;
+const php_stream_ops php_stream_unixdg_socket_ops;
#endif
@@ -484,7 +484,7 @@ static int php_sockop_cast(php_stream *stream, int castas, void **ret)
* A "useful" side-effect is that the user's scripts can then
* make similar decisions using stream_get_meta_data.
* */
-php_stream_ops php_stream_generic_socket_ops = {
+const php_stream_ops php_stream_generic_socket_ops = {
php_sockop_write, php_sockop_read,
php_sockop_close, php_sockop_flush,
"generic_socket",
@@ -495,7 +495,7 @@ php_stream_ops php_stream_generic_socket_ops = {
};
-php_stream_ops php_stream_socket_ops = {
+const php_stream_ops php_stream_socket_ops = {
php_sockop_write, php_sockop_read,
php_sockop_close, php_sockop_flush,
"tcp_socket",
@@ -505,7 +505,7 @@ php_stream_ops php_stream_socket_ops = {
php_tcp_sockop_set_option,
};
-php_stream_ops php_stream_udp_socket_ops = {
+const php_stream_ops php_stream_udp_socket_ops = {
php_sockop_write, php_sockop_read,
php_sockop_close, php_sockop_flush,
"udp_socket",
@@ -516,7 +516,7 @@ php_stream_ops php_stream_udp_socket_ops = {
};
#ifdef AF_UNIX
-php_stream_ops php_stream_unix_socket_ops = {
+const php_stream_ops php_stream_unix_socket_ops = {
php_sockop_write, php_sockop_read,
php_sockop_close, php_sockop_flush,
"unix_socket",
@@ -525,7 +525,7 @@ php_stream_ops php_stream_unix_socket_ops = {
php_sockop_stat,
php_tcp_sockop_set_option,
};
-php_stream_ops php_stream_unixdg_socket_ops = {
+const php_stream_ops php_stream_unixdg_socket_ops = {
php_sockop_write, php_sockop_read,
php_sockop_close, php_sockop_flush,
"udg_socket",
@@ -883,7 +883,7 @@ PHPAPI php_stream *php_stream_generic_socket_factory(const char *proto, size_t p
{
php_stream *stream = NULL;
php_netstream_data_t *sock;
- php_stream_ops *ops;
+ const php_stream_ops *ops;
/* which type of socket ? */
if (strncmp(proto, "tcp", protolen) == 0) {
diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c
index f47951bb16..7c465618be 100644
--- a/sapi/phpdbg/phpdbg.c
+++ b/sapi/phpdbg/phpdbg.c
@@ -1356,7 +1356,7 @@ php_stream *phpdbg_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *
return stream;
}
- return PHPDBG_G(orig_url_wrap_php)(wrapper, path, mode, options, opened_path, context STREAMS_CC);
+ return PHPDBG_G(orig_url_wrap_php)->stream_opener(wrapper, path, mode, options, opened_path, context STREAMS_CC);
} /* }}} */
int main(int argc, char **argv) /* {{{ */
@@ -1399,6 +1399,7 @@ int main(int argc, char **argv) /* {{{ */
void* (*_malloc)(size_t);
void (*_free)(void*);
void* (*_realloc)(void*, size_t);
+ php_stream_wrapper_ops wops;
#ifndef _WIN32
@@ -1868,8 +1869,10 @@ phpdbg_main:
{
php_stream_wrapper *wrapper = zend_hash_str_find_ptr(php_stream_get_url_stream_wrappers_hash(), ZEND_STRL("php"));
- PHPDBG_G(orig_url_wrap_php) = wrapper->wops->stream_opener;
- wrapper->wops->stream_opener = phpdbg_stream_url_wrap_php;
+ PHPDBG_G(orig_url_wrap_php) = wrapper->wops;
+ memcpy(&wops, wrapper->wops, sizeof(wops));
+ wops.stream_opener = phpdbg_stream_url_wrap_php;
+ wrapper->wops = &wops;
}
/* Make stdin, stdout and stderr accessible from PHP scripts */
@@ -2149,7 +2152,7 @@ phpdbg_out:
{
php_stream_wrapper *wrapper = zend_hash_str_find_ptr(php_stream_get_url_stream_wrappers_hash(), ZEND_STRL("php"));
- wrapper->wops->stream_opener = PHPDBG_G(orig_url_wrap_php);
+ wrapper->wops = PHPDBG_G(orig_url_wrap_php);
}
zend_hash_destroy(&PHPDBG_G(file_sources));
diff --git a/sapi/phpdbg/phpdbg.h b/sapi/phpdbg/phpdbg.h
index ef3b017b6d..0975ec8de2 100644
--- a/sapi/phpdbg/phpdbg.h
+++ b/sapi/phpdbg/phpdbg.h
@@ -308,7 +308,7 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
zend_bool last_was_newline; /* check if we don't need to output a newline upon next phpdbg_error or phpdbg_notice */
FILE *stdin_file; /* FILE pointer to stdin source file */
- php_stream *(*orig_url_wrap_php)(php_stream_wrapper *wrapper, const char *path, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC);
+ const php_stream_wrapper_ops *orig_url_wrap_php;
char input_buffer[PHPDBG_MAX_CMD]; /* stdin input buffer */
int input_buflen; /* length of stdin input buffer */