Skip to content

Commit 643a579

Browse files
committed
Deduplicate warnings
1 parent cf43caf commit 643a579

File tree

8 files changed

+45
-73
lines changed

8 files changed

+45
-73
lines changed

Zend/tests/zend_ini_parse_quantity_ini_set_error.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ zend_test
88
var_dump(ini_set("zend_test.quantity_value", "1MB"));
99
var_dump(ini_get("zend_test.quantity_value"));
1010
--EXPECTF--
11-
Warning: Invalid "zend_test.quantity_value" setting: Invalid quantity "1MB": unknown multipler "B", interpreting as "1" for backwards compatibility in %s on line %d
11+
Warning: Invalid "zend_test.quantity_value" setting. Invalid quantity "1MB": unknown multipler "B", interpreting as "1" for backwards compatibility in %s on line %d
1212
string(1) "0"
1313
string(3) "1MB"

Zend/zend.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -145,13 +145,8 @@ static ZEND_INI_MH(OnUpdateScriptEncoding) /* {{{ */
145145
static ZEND_INI_MH(OnUpdateAssertions) /* {{{ */
146146
{
147147
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
148-
zend_string *errstr;
149148

150-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
151-
if (errstr) {
152-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
153-
zend_string_release(errstr);
154-
}
149+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
155150

156151
if (stage != ZEND_INI_STAGE_STARTUP &&
157152
stage != ZEND_INI_STAGE_SHUTDOWN &&
@@ -180,13 +175,8 @@ static ZEND_INI_MH(OnSetExceptionStringParamMaxLen) /* {{{ */
180175

181176
static ZEND_INI_MH(OnUpdateFiberStackSize) /* {{{ */
182177
{
183-
zend_string *errstr;
184178
if (new_value) {
185-
EG(fiber_stack_size) = zend_ini_parse_quantity(new_value, &errstr);
186-
if (errstr) {
187-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
188-
zend_string_release(errstr);
189-
}
179+
EG(fiber_stack_size) = zend_ini_parse_quantity_warn(new_value, entry->name);
190180
} else {
191181
EG(fiber_stack_size) = ZEND_FIBER_DEFAULT_C_STACK_SIZE;
192182
}

Zend/zend_ini.c

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,34 @@ ZEND_API zend_ulong zend_ini_parse_uquantity(zend_string *value, zend_string **e
709709
}
710710
/* }}} */
711711

712+
ZEND_API zend_long zend_ini_parse_quantity_warn(zend_string *value, zend_string *setting) /* {{{ */
713+
{
714+
zend_string *errstr;
715+
zend_long retval = zend_ini_parse_quantity(value, &errstr);
716+
717+
if (errstr) {
718+
zend_error(E_WARNING, "Invalid \"%s\" setting. %s", ZSTR_VAL(setting), ZSTR_VAL(errstr));
719+
zend_string_release(errstr);
720+
}
721+
722+
return retval;
723+
}
724+
/* }}} */
725+
726+
ZEND_API zend_long zend_ini_parse_uquantity_warn(zend_string *value, zend_string *setting) /* {{{ */
727+
{
728+
zend_string *errstr;
729+
zend_long retval = zend_ini_parse_uquantity(value, &errstr);
730+
731+
if (errstr) {
732+
zend_error(E_WARNING, "Invalid \"%s\" setting. %s", ZSTR_VAL(setting), ZSTR_VAL(errstr));
733+
zend_string_release(errstr);
734+
}
735+
736+
return retval;
737+
}
738+
/* }}} */
739+
712740
ZEND_INI_DISP(zend_ini_boolean_displayer_cb) /* {{{ */
713741
{
714742
int value;
@@ -797,24 +825,14 @@ ZEND_API ZEND_INI_MH(OnUpdateBool) /* {{{ */
797825
ZEND_API ZEND_INI_MH(OnUpdateLong) /* {{{ */
798826
{
799827
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
800-
zend_string *errstr;
801-
*p = zend_ini_parse_quantity(new_value, &errstr);
802-
if (errstr) {
803-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
804-
zend_string_release(errstr);
805-
}
828+
*p = zend_ini_parse_quantity_warn(new_value, entry->name);
806829
return SUCCESS;
807830
}
808831
/* }}} */
809832

810833
ZEND_API ZEND_INI_MH(OnUpdateLongGEZero) /* {{{ */
811834
{
812-
zend_string *errstr;
813-
zend_long tmp = zend_ini_parse_quantity(new_value, &errstr);
814-
if (errstr) {
815-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
816-
zend_string_release(errstr);
817-
}
835+
zend_long tmp = zend_ini_parse_quantity_warn(new_value, entry->name);
818836
if (tmp < 0) {
819837
return FAILURE;
820838
}

Zend/zend_ini.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ ZEND_API zend_long zend_ini_parse_quantity(zend_string *value, zend_string **err
132132
*/
133133
ZEND_API zend_ulong zend_ini_parse_uquantity(zend_string *value, zend_string **errstr);
134134

135+
ZEND_API zend_long zend_ini_parse_quantity_warn(zend_string *value, zend_string *setting);
136+
137+
ZEND_API zend_long zend_ini_parse_uquantity_warn(zend_string *value, zend_string *setting);
138+
135139
ZEND_API zend_result zend_ini_register_displayer(const char *name, uint32_t name_length, void (*displayer)(zend_ini_entry *ini_entry, int type));
136140

137141
ZEND_API ZEND_INI_DISP(zend_ini_boolean_displayer_cb);

ext/bcmath/bcmath.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,8 @@ ZEND_INI_MH(OnUpdateScale)
6161
{
6262
int *p;
6363
zend_long tmp;
64-
zend_string *errstr;
6564

66-
tmp = zend_ini_parse_quantity(new_value, &errstr);
67-
if (errstr) {
68-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
69-
zend_string_release(errstr);
70-
}
65+
tmp = zend_ini_parse_quantity_warn(new_value, entry->name);
7166
if (tmp < 0 || tmp > INT_MAX) {
7267
return FAILURE;
7368
}

ext/opcache/zend_accelerator_module.c

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,7 @@ static ZEND_INI_MH(OnUpdateJit)
165165
static ZEND_INI_MH(OnUpdateJitDebug)
166166
{
167167
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
168-
zend_string *errstr;
169-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
170-
if (errstr) {
171-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
172-
zend_string_release(errstr);
173-
}
168+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
174169

175170
if (zend_jit_debug_config(*p, val, stage) == SUCCESS) {
176171
*p = val;
@@ -181,12 +176,7 @@ static ZEND_INI_MH(OnUpdateJitDebug)
181176

182177
static ZEND_INI_MH(OnUpdateCounter)
183178
{
184-
zend_string *errstr;
185-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
186-
if (errstr) {
187-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
188-
zend_string_release(errstr);
189-
}
179+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
190180

191181
if (val >= 0 && val < 256) {
192182
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
@@ -199,12 +189,7 @@ static ZEND_INI_MH(OnUpdateCounter)
199189

200190
static ZEND_INI_MH(OnUpdateUnrollC)
201191
{
202-
zend_string *errstr;
203-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
204-
if (errstr) {
205-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
206-
zend_string_release(errstr);
207-
}
192+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
208193

209194
if (val > 0 && val < ZEND_JIT_TRACE_MAX_CALL_DEPTH) {
210195
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
@@ -218,12 +203,7 @@ static ZEND_INI_MH(OnUpdateUnrollC)
218203

219204
static ZEND_INI_MH(OnUpdateUnrollR)
220205
{
221-
zend_string *errstr;
222-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
223-
if (errstr) {
224-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
225-
zend_string_release(errstr);
226-
}
206+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
227207

228208
if (val >= 0 && val < ZEND_JIT_TRACE_MAX_RET_DEPTH) {
229209
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();
@@ -237,12 +217,7 @@ static ZEND_INI_MH(OnUpdateUnrollR)
237217

238218
static ZEND_INI_MH(OnUpdateUnrollL)
239219
{
240-
zend_string *errstr;
241-
zend_long val = zend_ini_parse_quantity(new_value, &errstr);
242-
if (errstr) {
243-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
244-
zend_string_release(errstr);
245-
}
220+
zend_long val = zend_ini_parse_quantity_warn(new_value, entry->name);
246221

247222
if (val > 0 && val < ZEND_JIT_TRACE_MAX_LOOPS_UNROLL) {
248223
zend_long *p = (zend_long *) ZEND_INI_GET_ADDR();

ext/zlib/zlib.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,7 +1268,6 @@ static PHP_INI_MH(OnUpdate_zlib_output_compression)
12681268
{
12691269
int int_value;
12701270
char *ini_value;
1271-
zend_string *errstr = NULL;
12721271
if (new_value == NULL) {
12731272
return FAILURE;
12741273
}
@@ -1278,11 +1277,7 @@ static PHP_INI_MH(OnUpdate_zlib_output_compression)
12781277
} else if (zend_string_equals_literal_ci(new_value, "on")) {
12791278
int_value = 1;
12801279
} else {
1281-
int_value = (int) zend_ini_parse_quantity(new_value, &errstr);
1282-
if (errstr) {
1283-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
1284-
zend_string_release(errstr);
1285-
}
1280+
int_value = (int) zend_ini_parse_quantity_warn(new_value, entry->name);
12861281
}
12871282
ini_value = zend_ini_string("output_handler", sizeof("output_handler"), 0);
12881283

main/main.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -262,13 +262,8 @@ static PHP_INI_MH(OnSetSerializePrecision)
262262
static PHP_INI_MH(OnChangeMemoryLimit)
263263
{
264264
size_t value;
265-
zend_string *errstr;
266265
if (new_value) {
267-
value = zend_ini_parse_uquantity(new_value, &errstr);
268-
if (errstr) {
269-
zend_error(E_WARNING, "Invalid \"%s\" setting: %s", ZSTR_VAL(entry->name), ZSTR_VAL(errstr));
270-
zend_string_release(errstr);
271-
}
266+
value = zend_ini_parse_uquantity_warn(new_value, entry->name);
272267
} else {
273268
value = Z_L(1)<<30; /* effectively, no limit */
274269
}

0 commit comments

Comments
 (0)