Skip to content

Commit aaa2f1c

Browse files
author
Hartmut Holzgraefe
committed
marked char pointer arguments as const in lots of
places where strings pointed to are not modified to prevent compiler warnings about discarded qualifiers ...
1 parent 738be1a commit aaa2f1c

17 files changed

+64
-63
lines changed

Zend/zend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ typedef struct _zend_trait_alias zend_trait_alias;
461461

462462
struct _zend_class_entry {
463463
char type;
464-
char *name;
464+
const char *name;
465465
zend_uint name_length;
466466
struct _zend_class_entry *parent;
467467
int refcount;

Zend/zend_API.c

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ ZEND_API zend_class_entry *zend_get_class_entry(const zval *zobject TSRMLS_DC) /
248248
/* }}} */
249249

250250
/* returns 1 if you need to copy result, 0 if it's already a copy */
251-
ZEND_API int zend_get_object_classname(const zval *object, char **class_name, zend_uint *class_name_len TSRMLS_DC) /* {{{ */
251+
ZEND_API int zend_get_object_classname(const zval *object, const char **class_name, zend_uint *class_name_len TSRMLS_DC) /* {{{ */
252252
{
253253
if (Z_OBJ_HT_P(object)->get_class_name == NULL ||
254254
Z_OBJ_HT_P(object)->get_class_name(object, class_name, class_name_len, 0 TSRMLS_CC) != SUCCESS) {
@@ -302,9 +302,9 @@ static int parse_arg_object_to_string(zval **arg, char **p, int *pl, int type TS
302302
}
303303
/* }}} */
304304

305-
static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **spec, char **error, int *severity TSRMLS_DC) /* {{{ */
305+
static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, const char **spec, char **error, int *severity TSRMLS_DC) /* {{{ */
306306
{
307-
char *spec_walk = *spec;
307+
const char *spec_walk = *spec;
308308
char c = *spec_walk++;
309309
int return_null = 0;
310310

@@ -659,7 +659,7 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
659659
}
660660
/* }}} */
661661

662-
static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int quiet TSRMLS_DC) /* {{{ */
662+
static int zend_parse_arg(int arg_num, zval **arg, va_list *va, const char **spec, int quiet TSRMLS_DC) /* {{{ */
663663
{
664664
char *expected_type = NULL, *error = NULL;
665665
int severity = E_WARNING;
@@ -689,9 +689,9 @@ static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int
689689
}
690690
/* }}} */
691691

692-
static int zend_parse_va_args(int num_args, char *type_spec, va_list *va, int flags TSRMLS_DC) /* {{{ */
692+
static int zend_parse_va_args(int num_args, const char *type_spec, va_list *va, int flags TSRMLS_DC) /* {{{ */
693693
{
694-
char *spec_walk;
694+
const char *spec_walk;
695695
int c, i;
696696
int min_num_args = -1;
697697
int max_num_args = 0;
@@ -861,7 +861,7 @@ static int zend_parse_va_args(int num_args, char *type_spec, va_list *va, int fl
861861
}\
862862
}
863863

864-
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...) /* {{{ */
864+
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, const char *type_spec, ...) /* {{{ */
865865
{
866866
va_list va;
867867
int retval;
@@ -876,7 +876,7 @@ ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *t
876876
}
877877
/* }}} */
878878

879-
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...) /* {{{ */
879+
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, const char *type_spec, ...) /* {{{ */
880880
{
881881
va_list va;
882882
int retval;
@@ -891,11 +891,11 @@ ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...)
891891
}
892892
/* }}} */
893893

894-
ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, ...) /* {{{ */
894+
ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr, const char *type_spec, ...) /* {{{ */
895895
{
896896
va_list va;
897897
int retval;
898-
char *p = type_spec;
898+
const char *p = type_spec;
899899
zval **object;
900900
zend_class_entry *ce;
901901

@@ -927,11 +927,11 @@ ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr
927927
}
928928
/* }}} */
929929

930-
ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, ...) /* {{{ */
930+
ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC, zval *this_ptr, const char *type_spec, ...) /* {{{ */
931931
{
932932
va_list va;
933933
int retval;
934-
char *p = type_spec;
934+
const char *p = type_spec;
935935
zval **object;
936936
zend_class_entry *ce;
937937
int quiet = flags & ZEND_PARSE_PARAMS_QUIET;
@@ -1922,7 +1922,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
19221922
zend_function *ctor = NULL, *dtor = NULL, *clone = NULL, *__get = NULL, *__set = NULL, *__unset = NULL, *__isset = NULL, *__call = NULL, *__callstatic = NULL, *__tostring = NULL;
19231923
char *lowercase_name;
19241924
int fname_len;
1925-
char *lc_class_name = NULL;
1925+
const char *lc_class_name = NULL;
19261926
int class_name_len = 0;
19271927

19281928
if (type==MODULE_PERSISTENT) {
@@ -2594,7 +2594,8 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
25942594
{
25952595
zend_class_entry *ce_org = fcc->calling_scope;
25962596
int retval = 0;
2597-
char *mname, *lmname, *colon;
2597+
char *mname, *lmname;
2598+
const char *colon;
25982599
int clen, mlen;
25992600
zend_class_entry *last_scope;
26002601
HashTable *ftable;

Zend/zend_API.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ typedef struct _zend_fcall_info_cache {
166166

167167
#define INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, class_name_len, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset) \
168168
{ \
169-
char *cl_name = class_name; \
169+
const char *cl_name = class_name; \
170170
int _len = class_name_len; \
171171
class_container.name = zend_new_interned_string(cl_name, _len+1, 0 TSRMLS_CC); \
172172
if (class_container.name == cl_name) { \
@@ -244,12 +244,12 @@ ZEND_API int zend_copy_parameters_array(int param_count, zval *argument_array TS
244244
/* Parameter parsing API -- andrei */
245245

246246
#define ZEND_PARSE_PARAMS_QUIET 1<<1
247-
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
248-
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
247+
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, const char *type_spec, ...);
248+
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, const char *type_spec, ...);
249249
ZEND_API char *zend_zval_type_name(const zval *arg);
250250

251-
ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, ...);
252-
ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, ...);
251+
ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr, const char *type_spec, ...);
252+
ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC, zval *this_ptr, const char *type_spec, ...);
253253

254254
/* End of parameter parsing API -- andrei */
255255

@@ -331,7 +331,7 @@ ZEND_API zval *zend_read_property(zend_class_entry *scope, zval *object, char *n
331331
ZEND_API zval *zend_read_static_property(zend_class_entry *scope, char *name, int name_length, zend_bool silent TSRMLS_DC);
332332

333333
ZEND_API zend_class_entry *zend_get_class_entry(const zval *zobject TSRMLS_DC);
334-
ZEND_API int zend_get_object_classname(const zval *object, char **class_name, zend_uint *class_name_len TSRMLS_DC);
334+
ZEND_API int zend_get_object_classname(const zval *object, const char **class_name, zend_uint *class_name_len TSRMLS_DC);
335335
ZEND_API char *zend_get_type_by_const(int type);
336336

337337
#define getThis() (this_ptr)

Zend/zend_builtin_functions.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1973,7 +1973,7 @@ ZEND_FUNCTION(debug_print_backtrace)
19731973
int lineno;
19741974
char *function_name;
19751975
char *filename;
1976-
char *class_name = NULL;
1976+
const char *class_name = NULL;
19771977
char *call_type;
19781978
char *include_filename = NULL;
19791979
zval *arg_array = NULL;
@@ -1989,7 +1989,7 @@ ZEND_FUNCTION(debug_print_backtrace)
19891989
ptr = ptr->prev_execute_data;
19901990

19911991
while (ptr) {
1992-
char *free_class_name = NULL;
1992+
const char *free_class_name = NULL;
19931993

19941994
class_name = call_type = NULL;
19951995
arg_array = NULL;

Zend/zend_constants.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result,
281281
{
282282
zend_constant *c;
283283
int retval = 1;
284-
char *colon;
284+
const char *colon;
285285
zend_class_entry *ce = NULL;
286286
char *class_name;
287287
zval **ret_constant;
@@ -297,7 +297,7 @@ ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result,
297297
colon > name && (*(colon - 1) == ':')) {
298298
int class_name_len = colon - name - 1;
299299
int const_name_len = name_len - class_name_len - 2;
300-
char *constant_name = colon + 1;
300+
const char *constant_name = colon + 1;
301301
char *lcname;
302302

303303
class_name = estrndup(name, class_name_len);
@@ -360,7 +360,7 @@ ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result,
360360
/* compound constant name */
361361
int prefix_len = colon - name;
362362
int const_name_len = name_len - prefix_len - 1;
363-
char *constant_name = colon + 1;
363+
const char *constant_name = colon + 1;
364364
char *lcname;
365365
int found_const = 0;
366366

Zend/zend_execute.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ static inline int zend_verify_arg_error(const zend_function *zf, zend_uint arg_n
594594
zend_execute_data *ptr = EG(current_execute_data)->prev_execute_data;
595595
char *fname = zf->common.function_name;
596596
char *fsep;
597-
char *fclass;
597+
const char *fclass;
598598

599599
if (zf->common.scope) {
600600
fsep = "::";

Zend/zend_ini.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,11 @@ ZEND_API int zend_copy_ini_directives(TSRMLS_D) /* {{{ */
147147

148148
static int ini_key_compare(const void *a, const void *b TSRMLS_DC) /* {{{ */
149149
{
150-
Bucket *f;
151-
Bucket *s;
150+
const Bucket *f;
151+
const Bucket *s;
152152

153-
f = *((Bucket **) a);
154-
s = *((Bucket **) b);
153+
f = *((const Bucket **) a);
154+
s = *((const Bucket **) b);
155155

156156
if (f->nKeyLength == 0 && s->nKeyLength == 0) { /* both numeric */
157157
return ZEND_NORMALIZE_BOOL(f->nKeyLength - s->nKeyLength);

Zend/zend_list.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int r
106106
}
107107

108108

109-
ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, char *resource_type_name, int *found_resource_type, int num_resource_types, ...)
109+
ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...)
110110
{
111111
int id;
112112
int actual_resource_type;
@@ -289,7 +289,7 @@ ZEND_API int zend_register_list_destructors(void (*ld)(void *), void (*pld)(void
289289
}
290290

291291

292-
ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number)
292+
ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, const char *type_name, int module_number)
293293
{
294294
zend_rsrc_list_dtors_entry lde;
295295

@@ -348,7 +348,7 @@ void zend_destroy_rsrc_list_dtors(void)
348348
}
349349

350350

351-
char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC)
351+
const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC)
352352
{
353353
zend_rsrc_list_dtors_entry *lde;
354354
int rsrc_type;

Zend/zend_list.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ typedef struct _zend_rsrc_list_dtors_entry {
4848
rsrc_dtor_func_t list_dtor_ex;
4949
rsrc_dtor_func_t plist_dtor_ex;
5050

51-
char *type_name;
51+
const char *type_name;
5252

5353
int module_number;
5454
int resource_id;
@@ -58,7 +58,7 @@ typedef struct _zend_rsrc_list_dtors_entry {
5858

5959
#define register_list_destructors(ld, pld) zend_register_list_destructors((void (*)(void *))ld, (void (*)(void *))pld, module_number);
6060
ZEND_API int zend_register_list_destructors(void (*ld)(void *), void (*pld)(void *), int module_number);
61-
ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);
61+
ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, const char *type_name, int module_number);
6262

6363
void list_entry_destructor(void *ptr);
6464
void plist_entry_destructor(void *ptr);
@@ -80,9 +80,9 @@ ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC);
8080
#define zend_list_find(id, type) _zend_list_find(id, type TSRMLS_CC)
8181

8282
ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type TSRMLS_DC);
83-
ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, char *resource_type_name, int *found_resource_type, int num_resource_types, ...);
83+
ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...);
8484

85-
ZEND_API char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC);
85+
ZEND_API const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC);
8686
ZEND_API int zend_fetch_list_dtor_id(char *type_name);
8787

8888
extern ZEND_API int le_index_ptr; /* list entry type for index pointers */

Zend/zend_modules.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ struct _zend_module_entry {
9898
unsigned char type;
9999
void *handle;
100100
int module_number;
101-
char *build_id;
101+
const char *build_id;
102102
};
103103

104104
#define MODULE_DEP_REQUIRED 1

Zend/zend_opcode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC)
402402
}
403403
if (op_array->arg_info) {
404404
for (i=0; i<op_array->num_args; i++) {
405-
str_efree((char*)op_array->arg_info[i].name);
405+
str_efree((char *)op_array->arg_info[i].name);
406406
if (op_array->arg_info[i].class_name && !IS_INTERNED(op_array->arg_info[i].class_name)) {
407407
efree((char*)op_array->arg_info[i].class_name);
408408
}

Zend/zend_operators.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ static inline zend_uchar is_numeric_string(const char *str, int length, long *lv
167167
}
168168
} else if (!(digits < SIZEOF_LONG * 2 || (digits == SIZEOF_LONG * 2 && ptr[-digits] <= '7'))) {
169169
if (dval) {
170-
local_dval = zend_hex_strtod(str, (char **)&ptr);
170+
local_dval = zend_hex_strtod(str, &ptr);
171171
}
172172
type = IS_DOUBLE;
173173
}
@@ -178,7 +178,7 @@ static inline zend_uchar is_numeric_string(const char *str, int length, long *lv
178178
/* If there's a dval, do the conversion; else continue checking
179179
* the digits if we need to check for a full match */
180180
if (dval) {
181-
local_dval = zend_strtod(str, (char **)&ptr);
181+
local_dval = zend_strtod(str, &ptr);
182182
} else if (allow_errors != 1 && dp_or_e != -1) {
183183
dp_or_e = (*ptr++ == '.') ? 1 : 2;
184184
goto check_digits;
@@ -256,17 +256,17 @@ zend_memnstr(char *haystack, char *needle, int needle_len, char *end)
256256
return NULL;
257257
}
258258

259-
static inline void *zend_memrchr(const void *s, int c, size_t n)
259+
static inline const void *zend_memrchr(const void *s, int c, size_t n)
260260
{
261-
register unsigned char *e;
261+
register const unsigned char *e;
262262

263263
if (n <= 0) {
264264
return NULL;
265265
}
266266

267-
for (e = (unsigned char *)s + n - 1; e >= (unsigned char *)s; e--) {
268-
if (*e == (unsigned char)c) {
269-
return (void *)e;
267+
for (e = (const unsigned char *)s + n - 1; e >= (const unsigned char *)s; e--) {
268+
if (*e == (const unsigned char)c) {
269+
return (const void *)e;
270270
}
271271
}
272272

Zend/zend_stream.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ ZEND_API int zend_stream_open(const char *filename, zend_file_handle *handle TSR
120120
handle->type = ZEND_HANDLE_FP;
121121
handle->opened_path = NULL;
122122
handle->handle.fp = zend_fopen(filename, &handle->opened_path TSRMLS_CC);
123-
handle->filename = (char *)filename;
123+
handle->filename = filename;
124124
handle->free_filename = 0;
125125
memset(&handle->handle.stream.mmap, 0, sizeof(zend_mmap));
126126

Zend/zend_string.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@
2929
# include <sys/mman.h>
3030
#endif
3131

32-
ZEND_API char *(*zend_new_interned_string)(char *str, int len, int free_src TSRMLS_DC);
32+
ZEND_API const char *(*zend_new_interned_string)(const char *str, int len, int free_src TSRMLS_DC);
3333
ZEND_API void (*zend_interned_strings_snapshot)(TSRMLS_D);
3434
ZEND_API void (*zend_interned_strings_restore)(TSRMLS_D);
3535

36-
static char *zend_new_interned_string_int(char *str, int len, int free_src TSRMLS_DC);
36+
static const char *zend_new_interned_string_int(const char *str, int len, int free_src TSRMLS_DC);
3737
static void zend_interned_strings_snapshot_int(TSRMLS_D);
3838
static void zend_interned_strings_restore_int(TSRMLS_D);
3939

@@ -79,7 +79,7 @@ void zend_interned_strings_dtor(TSRMLS_D)
7979
#endif
8080
}
8181

82-
static char *zend_new_interned_string_int(char *arKey, int nKeyLength, int free_src TSRMLS_DC)
82+
static const char *zend_new_interned_string_int(const char *arKey, int nKeyLength, int free_src TSRMLS_DC)
8383
{
8484
#ifndef ZTS
8585
ulong h;
@@ -97,7 +97,7 @@ static char *zend_new_interned_string_int(char *arKey, int nKeyLength, int free_
9797
if ((p->h == h) && (p->nKeyLength == nKeyLength)) {
9898
if (!memcmp(p->arKey, arKey, nKeyLength)) {
9999
if (free_src) {
100-
efree(arKey);
100+
efree((void *)arKey);
101101
}
102102
return p->arKey;
103103
}
@@ -121,7 +121,7 @@ static char *zend_new_interned_string_int(char *arKey, int nKeyLength, int free_
121121
p->arKey = (char*)(p+1);
122122
memcpy(p->arKey, arKey, nKeyLength);
123123
if (free_src) {
124-
efree(arKey);
124+
efree((void *)arKey);
125125
}
126126
p->nKeyLength = nKeyLength;
127127
p->h = h;

Zend/zend_string.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
#include "zend.h"
2525

26-
ZEND_API extern char *(*zend_new_interned_string)(char *str, int len, int free_src TSRMLS_DC);
26+
ZEND_API extern const char *(*zend_new_interned_string)(const char *str, int len, int free_src TSRMLS_DC);
2727
ZEND_API extern void (*zend_interned_strings_snapshot)(TSRMLS_D);
2828
ZEND_API extern void (*zend_interned_strings_restore)(TSRMLS_D);
2929

0 commit comments

Comments
 (0)