Skip to content

Commit dcd86ae

Browse files
committed
- MFH: Removed UG(unicode) checks
1 parent 02fe66d commit dcd86ae

File tree

8 files changed

+93
-121
lines changed

8 files changed

+93
-121
lines changed

ext/mysqlnd/mysqlnd.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -663,12 +663,12 @@ PHPAPI MYSQLND *mysqlnd_connect(MYSQLND *conn,
663663
(charset = mysqlnd_find_charset_name(conn->options.charset_name)))
664664
{
665665
auth_packet->charset_no = charset->nr;
666+
} else {
666667
#if PHP_MAJOR_VERSION >= 6
667-
} else if (UG(unicode)) {
668668
auth_packet->charset_no = 200;/* utf8 - swedish collation, check mysqlnd_charset.c */
669-
#endif
670-
} else {
669+
#else
671670
auth_packet->charset_no = greet_packet.charset_no;
671+
#endif
672672
}
673673
auth_packet->db = db;
674674
auth_packet->db_len = db_len;

ext/mysqlnd/mysqlnd_debug.c

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,7 @@ static int mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list
11071107
TRACE_APPEND_STR("Array, ");
11081108
break;
11091109
case IS_OBJECT: {
1110+
zval tmp;
11101111
zstr class_name;
11111112
zend_uint class_name_len;
11121113
int dup;
@@ -1115,16 +1116,11 @@ static int mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list
11151116

11161117
dup = zend_get_object_classname(*arg, &class_name, &class_name_len TSRMLS_CC);
11171118

1118-
if (UG(unicode)) {
1119-
zval tmp;
1119+
ZVAL_UNICODEL(&tmp, class_name.u, class_name_len, 1);
1120+
convert_to_string_with_converter(&tmp, ZEND_U_CONVERTER(UG(output_encoding_conv)));
1121+
TRACE_APPEND_STRL(Z_STRVAL(tmp), Z_STRLEN(tmp));
1122+
zval_dtor(&tmp);
11201123

1121-
ZVAL_UNICODEL(&tmp, class_name.u, class_name_len, 1);
1122-
convert_to_string_with_converter(&tmp, ZEND_U_CONVERTER(UG(output_encoding_conv)));
1123-
TRACE_APPEND_STRL(Z_STRVAL(tmp), Z_STRLEN(tmp));
1124-
zval_dtor(&tmp);
1125-
} else {
1126-
TRACE_APPEND_STRL(class_name.s, class_name_len);
1127-
}
11281124
if(!dup) {
11291125
efree(class_name.v);
11301126
}

ext/mysqlnd/mysqlnd_palloc.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,6 @@ char * mysqlnd_palloc_get_zval_name = "mysqlnd_palloc_get_zval";
3939
#endif
4040

4141

42-
#if PHP_MAJOR_VERSION < 6
43-
#define IS_UNICODE_DISABLED (1)
44-
#else
45-
#define IS_UNICODE_DISABLED (!UG(unicode))
46-
#endif
47-
48-
4942
/* {{{ _mysqlnd_palloc_init_cache */
5043
PHPAPI MYSQLND_ZVAL_PCACHE* _mysqlnd_palloc_init_cache(unsigned int cache_size TSRMLS_DC)
5144
{

ext/mysqlnd/mysqlnd_ps_codec.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -685,15 +685,15 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT *stmt, zend_uchar **buf, zend_uch
685685
#if PHP_MAJOR_VERSION < 6
686686
if (Z_TYPE_P(the_var) != IS_STRING)
687687
#elif PHP_MAJOR_VERSION >= 6
688-
if (Z_TYPE_P(the_var) != IS_STRING || (UG(unicode) && Z_TYPE_P(the_var) == IS_UNICODE))
688+
if (Z_TYPE_P(the_var) != IS_STRING || Z_TYPE_P(the_var) == IS_UNICODE)
689689
#endif
690690
{
691691
if (!copies || !copies[i]) {
692692
mysqlnd_stmt_copy_it(&copies, the_var, stmt->param_count, i);
693693
}
694694
the_var = copies[i];
695695
#if PHP_MAJOR_VERSION >= 6
696-
if (UG(unicode) && Z_TYPE_P(the_var) == IS_UNICODE) {
696+
if (Z_TYPE_P(the_var) == IS_UNICODE) {
697697
zval_unicode_to_string_ex(the_var, UG(utf8_conv) TSRMLS_CC);
698698
}
699699
#endif

ext/mysqlnd/mysqlnd_result.c

Lines changed: 33 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -910,21 +910,18 @@ mysqlnd_fetch_row_unbuffered(MYSQLND_RES *result, void *param, unsigned int flag
910910
*/
911911
if (zend_hash_key->is_numeric == FALSE) {
912912
#if PHP_MAJOR_VERSION >= 6
913-
if (UG(unicode)) {
914-
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
915-
zend_hash_key->ustr,
916-
zend_hash_key->ulen + 1,
917-
zend_hash_key->key,
918-
(void *) &data, sizeof(zval *), NULL);
919-
} else
913+
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
914+
zend_hash_key->ustr,
915+
zend_hash_key->ulen + 1,
916+
zend_hash_key->key,
917+
(void *) &data, sizeof(zval *), NULL);
918+
#else
919+
zend_hash_quick_update(Z_ARRVAL_P(row),
920+
field->name,
921+
field->name_length + 1,
922+
zend_hash_key->key,
923+
(void *) &data, sizeof(zval *), NULL);
920924
#endif
921-
{
922-
zend_hash_quick_update(Z_ARRVAL_P(row),
923-
field->name,
924-
field->name_length + 1,
925-
zend_hash_key->key,
926-
(void *) &data, sizeof(zval *), NULL);
927-
}
928925
} else {
929926
zend_hash_index_update(Z_ARRVAL_P(row),
930927
zend_hash_key->key,
@@ -1143,21 +1140,18 @@ mysqlnd_fetch_row_buffered(MYSQLND_RES *result, void *param, unsigned int flags,
11431140
*/
11441141
if (zend_hash_key->is_numeric == FALSE) {
11451142
#if PHP_MAJOR_VERSION >= 6
1146-
if (UG(unicode)) {
1147-
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
1148-
zend_hash_key->ustr,
1149-
zend_hash_key->ulen + 1,
1150-
zend_hash_key->key,
1151-
(void *) &data, sizeof(zval *), NULL);
1152-
} else
1143+
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
1144+
zend_hash_key->ustr,
1145+
zend_hash_key->ulen + 1,
1146+
zend_hash_key->key,
1147+
(void *) &data, sizeof(zval *), NULL);
1148+
#else
1149+
zend_hash_quick_update(Z_ARRVAL_P(row),
1150+
field->name,
1151+
field->name_length + 1,
1152+
zend_hash_key->key,
1153+
(void *) &data, sizeof(zval *), NULL);
11531154
#endif
1154-
{
1155-
zend_hash_quick_update(Z_ARRVAL_P(row),
1156-
field->name,
1157-
field->name_length + 1,
1158-
zend_hash_key->key,
1159-
(void *) &data, sizeof(zval *), NULL);
1160-
}
11611155
} else {
11621156
zend_hash_index_update(Z_ARRVAL_P(row),
11631157
zend_hash_key->key,
@@ -1419,21 +1413,18 @@ mysqlnd_fetch_row_async_buffered(MYSQLND_RES *result, void *param, unsigned int
14191413
*/
14201414
if (result->meta->zend_hash_keys[i].is_numeric == FALSE) {
14211415
#if PHP_MAJOR_VERSION >= 6
1422-
if (UG(unicode)) {
1423-
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
1424-
result->meta->zend_hash_keys[i].ustr,
1425-
result->meta->zend_hash_keys[i].ulen + 1,
1426-
result->meta->zend_hash_keys[i].key,
1427-
(void *) &data, sizeof(zval *), NULL);
1428-
} else
1416+
zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE,
1417+
result->meta->zend_hash_keys[i].ustr,
1418+
result->meta->zend_hash_keys[i].ulen + 1,
1419+
result->meta->zend_hash_keys[i].key,
1420+
(void *) &data, sizeof(zval *), NULL);
1421+
#else
1422+
zend_hash_quick_update(Z_ARRVAL_P(row),
1423+
result->meta->fields[i].name,
1424+
result->meta->fields[i].name_length + 1,
1425+
result->meta->zend_hash_keys[i].key,
1426+
(void *) &data, sizeof(zval *), NULL);
14291427
#endif
1430-
{
1431-
zend_hash_quick_update(Z_ARRVAL_P(row),
1432-
result->meta->fields[i].name,
1433-
result->meta->fields[i].name_length + 1,
1434-
result->meta->zend_hash_keys[i].key,
1435-
(void *) &data, sizeof(zval *), NULL);
1436-
}
14371428
} else {
14381429
zend_hash_index_update(Z_ARRVAL_P(row),
14391430
result->meta->zend_hash_keys[i].key,

ext/mysqlnd/mysqlnd_result_meta.c

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ MYSQLND_METHOD(mysqlnd_res_meta, read_metadata)(MYSQLND_RES_METADATA * const met
143143
{
144144
unsigned int i = 0;
145145
php_mysql_packet_res_field field_packet;
146+
#if PHP_MAJOR_VERSION >= 6
147+
UChar *ustr;
148+
int ulen;
149+
#endif
146150

147151
DBG_ENTER("mysqlnd_res_meta::read_metadata");
148152

@@ -212,39 +216,33 @@ MYSQLND_METHOD(mysqlnd_res_meta, read_metadata)(MYSQLND_RES_METADATA * const met
212216
}
213217

214218
#if PHP_MAJOR_VERSION >= 6
215-
if (UG(unicode)) {
216-
UChar *ustr;
217-
int ulen;
218-
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
219-
meta->fields[i].name,
220-
meta->fields[i].name_length TSRMLS_CC);
221-
if ((meta->zend_hash_keys[i].is_numeric =
222-
mysqlnd_unicode_is_key_numeric(ustr, ulen + 1, &idx)))
223-
{
224-
meta->zend_hash_keys[i].key = idx;
225-
mnd_efree(ustr);
226-
} else {
227-
meta->zend_hash_keys[i].ustr.u = ustr;
228-
meta->zend_hash_keys[i].ulen = ulen;
229-
meta->zend_hash_keys[i].key = zend_u_get_hash_value(IS_UNICODE, ZSTR(ustr), ulen + 1);
230-
}
231-
232-
} else
233-
#endif
219+
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
220+
meta->fields[i].name,
221+
meta->fields[i].name_length TSRMLS_CC);
222+
if ((meta->zend_hash_keys[i].is_numeric =
223+
mysqlnd_unicode_is_key_numeric(ustr, ulen + 1, &idx)))
234224
{
235-
/* For BC we have to check whether the key is numeric and use it like this */
236-
if ((meta->zend_hash_keys[i].is_numeric =
237-
mysqlnd_is_key_numeric(field_packet.metadata->name,
238-
field_packet.metadata->name_length + 1,
239-
&idx)))
240-
{
241-
meta->zend_hash_keys[i].key = idx;
242-
} else {
243-
meta->zend_hash_keys[i].key =
244-
zend_get_hash_value(field_packet.metadata->name,
245-
field_packet.metadata->name_length + 1);
246-
}
225+
meta->zend_hash_keys[i].key = idx;
226+
mnd_efree(ustr);
227+
} else {
228+
meta->zend_hash_keys[i].ustr.u = ustr;
229+
meta->zend_hash_keys[i].ulen = ulen;
230+
meta->zend_hash_keys[i].key = zend_u_get_hash_value(IS_UNICODE, ZSTR(ustr), ulen + 1);
247231
}
232+
#else
233+
/* For BC we have to check whether the key is numeric and use it like this */
234+
if ((meta->zend_hash_keys[i].is_numeric =
235+
mysqlnd_is_key_numeric(field_packet.metadata->name,
236+
field_packet.metadata->name_length + 1,
237+
&idx)))
238+
{
239+
meta->zend_hash_keys[i].key = idx;
240+
} else {
241+
meta->zend_hash_keys[i].key =
242+
zend_get_hash_value(field_packet.metadata->name,
243+
field_packet.metadata->name_length + 1);
244+
}
245+
#endif
248246
}
249247
PACKET_FREE_ALLOCA(field_packet);
250248

ext/mysqlnd/mysqlnd_statistics.c

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -164,26 +164,24 @@ mysqlnd_fill_stats_hash(const MYSQLND_STATS * const stats, zval *return_value TS
164164

165165
mysqlnd_array_init(return_value, STAT_LAST);
166166
for (i = 0; i < STAT_LAST; i++) {
167+
#if PHP_MAJOR_VERSION >= 6
168+
UChar *ustr, *tstr;
169+
int ulen, tlen;
170+
#endif
167171
char tmp[22];
168172

169173
sprintf((char *)&tmp, MYSQLND_LLU_SPEC, stats->values[i]);
170174
#if PHP_MAJOR_VERSION >= 6
171-
if (UG(unicode)) {
172-
UChar *ustr, *tstr;
173-
int ulen, tlen;
174-
175-
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, mysqlnd_stats_values_names[i].s,
176-
mysqlnd_stats_values_names[i].l + 1 TSRMLS_CC);
177-
zend_string_to_unicode(UG(utf8_conv), &tstr, &tlen, tmp, strlen(tmp) + 1 TSRMLS_CC);
178-
add_u_assoc_unicode_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen, tstr, 1);
179-
efree(ustr);
180-
efree(tstr);
181-
} else
182-
#endif
183-
{
184-
add_assoc_string_ex(return_value, mysqlnd_stats_values_names[i].s,
185-
mysqlnd_stats_values_names[i].l + 1, tmp, 1);
186-
}
175+
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, mysqlnd_stats_values_names[i].s,
176+
mysqlnd_stats_values_names[i].l + 1 TSRMLS_CC);
177+
zend_string_to_unicode(UG(utf8_conv), &tstr, &tlen, tmp, strlen(tmp) + 1 TSRMLS_CC);
178+
add_u_assoc_unicode_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen, tstr, 1);
179+
efree(ustr);
180+
efree(tstr);
181+
#else
182+
add_assoc_string_ex(return_value, mysqlnd_stats_values_names[i].s,
183+
mysqlnd_stats_values_names[i].l + 1, tmp, 1);
184+
#endif
187185
}
188186
}
189187
/* }}} */

ext/mysqlnd/php_mysqlnd.c

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,19 @@ PHPAPI void mysqlnd_minfo_print_hash(zval *values)
5151
zstr string_key;
5252
uint string_key_len;
5353
ulong num_key;
54+
int s_len;
5455
char *s = NULL;
5556

5657
zend_hash_get_current_key_ex(Z_ARRVAL_P(values), &string_key, &string_key_len, &num_key, 0, &pos_values);
5758

5859
convert_to_string(*values_entry);
5960

60-
if (UG(unicode)) {
61-
int s_len;
62-
if (zend_unicode_to_string(ZEND_U_CONVERTER(UG(runtime_encoding_conv)),
63-
&s, &s_len, string_key.u, string_key_len TSRMLS_CC) == SUCCESS) {
64-
php_info_print_table_row(2, s, Z_STRVAL_PP(values_entry));
65-
}
66-
if (s) {
67-
mnd_efree(s);
68-
}
69-
} else {
70-
php_info_print_table_row(2, string_key.s, Z_STRVAL_PP(values_entry));
61+
if (zend_unicode_to_string(ZEND_U_CONVERTER(UG(runtime_encoding_conv)),
62+
&s, &s_len, string_key.u, string_key_len TSRMLS_CC) == SUCCESS) {
63+
php_info_print_table_row(2, s, Z_STRVAL_PP(values_entry));
64+
}
65+
if (s) {
66+
mnd_efree(s);
7167
}
7268

7369
zend_hash_move_forward_ex(Z_ARRVAL_P(values), &pos_values);

0 commit comments

Comments
 (0)