Skip to content

Commit 6074df9

Browse files
committed
remove old unicode code, that is was compiled out by using a macro
1 parent 571b46b commit 6074df9

14 files changed

+80
-669
lines changed

ext/mysqlnd/mysqlnd.c

-16
Original file line numberDiff line numberDiff line change
@@ -456,11 +456,7 @@ mysqlnd_switch_to_ssl_if_needed(
456456
if (options->charset_name && (charset = mysqlnd_find_charset_name(options->charset_name))) {
457457
auth_packet->charset_no = charset->nr;
458458
} else {
459-
#if MYSQLND_UNICODE
460-
auth_packet->charset_no = 200;/* utf8 - swedish collation, check mysqlnd_charset.c */
461-
#else
462459
auth_packet->charset_no = greet_packet->charset_no;
463-
#endif
464460
}
465461

466462
#ifdef MYSQLND_SSL_SUPPORTED
@@ -1030,13 +1026,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
10301026

10311027
mysqlnd_local_infile_default(conn);
10321028

1033-
#if MYSQLND_UNICODE
1034-
{
1035-
unsigned int as_unicode = 1;
1036-
conn->m->set_client_option(conn, MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE, (char *)&as_unicode TSRMLS_CC);
1037-
DBG_INF("unicode set");
1038-
}
1039-
#endif
10401029
if (FAIL == conn->m->execute_init_commands(conn TSRMLS_CC)) {
10411030
goto err;
10421031
}
@@ -2283,11 +2272,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c
22832272
case MYSQLND_OPT_NET_READ_BUFFER_SIZE:
22842273
ret = conn->net->data->m.set_client_option(conn->net, option, value TSRMLS_CC);
22852274
break;
2286-
#if MYSQLND_UNICODE
2287-
case MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE:
2288-
conn->options->numeric_and_datetime_as_unicode = *(unsigned int*) value;
2289-
break;
2290-
#endif
22912275
#ifdef MYSQLND_STRING_TO_INT_CONVERSION
22922276
case MYSQLND_OPT_INT_AND_FLOAT_NATIVE:
22932277
conn->options->int_and_float_native = *(unsigned int*) value;

ext/mysqlnd/mysqlnd_auth.c

-4
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,7 @@ mysqlnd_auth_handshake(MYSQLND_CONN_DATA * conn,
8888
if (options->charset_name && (charset = mysqlnd_find_charset_name(options->charset_name))) {
8989
auth_packet->charset_no = charset->nr;
9090
} else {
91-
#if MYSQLND_UNICODE
92-
auth_packet->charset_no = 200;/* utf8 - swedish collation, check mysqlnd_charset.c */
93-
#else
9491
auth_packet->charset_no = server_charset_no;
95-
#endif
9692
}
9793

9894
auth_packet->send_auth_data = TRUE;

ext/mysqlnd/mysqlnd_bt.c

+6-250
Original file line numberDiff line numberDiff line change
@@ -25,252 +25,6 @@
2525

2626
/* Follows code borrowed from zend_builtin_functions.c because the functions there are static */
2727

28-
#if MYSQLND_UNICODE
29-
/* {{{ gettraceasstring() macros */
30-
#define TRACE_APPEND_CHR(chr) \
31-
*str = (char*)erealloc(*str, *len + 1 + 1); \
32-
(*str)[(*len)++] = chr
33-
34-
#define TRACE_APPEND_STRL(val, vallen) \
35-
{ \
36-
int l = vallen; \
37-
*str = (char*)erealloc(*str, *len + l + 1); \
38-
memcpy((*str) + *len, val, l); \
39-
*len += l; \
40-
}
41-
42-
#define TRACE_APPEND_USTRL(val, vallen) \
43-
{ \
44-
zval tmp, copy; \
45-
int use_copy; \
46-
ZVAL_UNICODEL(&tmp, val, vallen, 1); \
47-
zend_make_printable_zval(&tmp, &copy, &use_copy); \
48-
TRACE_APPEND_STRL(Z_STRVAL(copy), Z_STRLEN(copy)); \
49-
zval_dtor(&copy); \
50-
zval_dtor(&tmp); \
51-
}
52-
53-
#define TRACE_APPEND_ZVAL(zv) \
54-
if (Z_TYPE_P((zv)) == IS_UNICODE) { \
55-
zval copy; \
56-
int use_copy; \
57-
zend_make_printable_zval((zv), &copy, &use_copy); \
58-
TRACE_APPEND_STRL(Z_STRVAL(copy), Z_STRLEN(copy)); \
59-
zval_dtor(&copy); \
60-
} else { \
61-
TRACE_APPEND_STRL(Z_STRVAL_P((zv)), Z_STRLEN_P((zv))); \
62-
}
63-
64-
#define TRACE_APPEND_STR(val) \
65-
TRACE_APPEND_STRL(val, sizeof(val)-1)
66-
67-
#define TRACE_APPEND_KEY(key) \
68-
if (zend_ascii_hash_find(ht, key, sizeof(key), (void**)&tmp) == SUCCESS) { \
69-
if (Z_TYPE_PP(tmp) == IS_UNICODE) { \
70-
zval copy; \
71-
int use_copy; \
72-
zend_make_printable_zval(*tmp, &copy, &use_copy); \
73-
TRACE_APPEND_STRL(Z_STRVAL(copy), Z_STRLEN(copy)); \
74-
zval_dtor(&copy); \
75-
} else { \
76-
TRACE_APPEND_STRL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp)); \
77-
} \
78-
}
79-
/* }}} */
80-
81-
82-
/* {{{ mysqlnd_build_trace_args */
83-
static int mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key)
84-
{
85-
char **str;
86-
int *len;
87-
88-
str = va_arg(args, char**);
89-
len = va_arg(args, int*);
90-
91-
/* the trivial way would be to do:
92-
* conver_to_string_ex(arg);
93-
* append it and kill the now tmp arg.
94-
* but that could cause some E_NOTICE and also damn long lines.
95-
*/
96-
97-
switch (Z_TYPE_PP(arg)) {
98-
case IS_NULL:
99-
TRACE_APPEND_STR("NULL, ");
100-
break;
101-
case IS_STRING: {
102-
int l_added;
103-
TRACE_APPEND_CHR('\'');
104-
if (Z_STRLEN_PP(arg) > 15) {
105-
TRACE_APPEND_STRL(Z_STRVAL_PP(arg), 15);
106-
TRACE_APPEND_STR("...', ");
107-
l_added = 15 + 6 + 1; /* +1 because of while (--l_added) */
108-
} else {
109-
l_added = Z_STRLEN_PP(arg);
110-
TRACE_APPEND_STRL(Z_STRVAL_PP(arg), l_added);
111-
TRACE_APPEND_STR("', ");
112-
l_added += 3 + 1;
113-
}
114-
while (--l_added) {
115-
if ((unsigned char)(*str)[*len - l_added] < 32) {
116-
(*str)[*len - l_added] = '?';
117-
}
118-
}
119-
break;
120-
}
121-
case IS_UNICODE: {
122-
int l_added;
123-
124-
/*
125-
* We do not want to apply current error mode here, since
126-
* zend_make_printable_zval() uses output encoding converter.
127-
* Temporarily set output encoding converter to escape offending
128-
* chars with \uXXXX notation.
129-
*/
130-
zend_set_converter_error_mode(ZEND_U_CONVERTER(UG(output_encoding_conv)), ZEND_FROM_UNICODE, ZEND_CONV_ERROR_ESCAPE_JAVA);
131-
TRACE_APPEND_CHR('\'');
132-
if (Z_USTRLEN_PP(arg) > 15) {
133-
TRACE_APPEND_USTRL(Z_USTRVAL_PP(arg), 15);
134-
TRACE_APPEND_STR("...', ");
135-
l_added = 15 + 6 + 1; /* +1 because of while (--l_added) */
136-
} else {
137-
l_added = Z_USTRLEN_PP(arg);
138-
TRACE_APPEND_USTRL(Z_USTRVAL_PP(arg), l_added);
139-
TRACE_APPEND_STR("', ");
140-
l_added += 3 + 1;
141-
}
142-
/*
143-
* Reset output encoding converter error mode.
144-
*/
145-
zend_set_converter_error_mode(ZEND_U_CONVERTER(UG(output_encoding_conv)), ZEND_FROM_UNICODE, UG(from_error_mode));
146-
while (--l_added) {
147-
if ((unsigned char)(*str)[*len - l_added] < 32) {
148-
(*str)[*len - l_added] = '?';
149-
}
150-
}
151-
break;
152-
}
153-
case IS_BOOL:
154-
if (Z_LVAL_PP(arg)) {
155-
TRACE_APPEND_STR("true, ");
156-
} else {
157-
TRACE_APPEND_STR("false, ");
158-
}
159-
break;
160-
case IS_RESOURCE:
161-
TRACE_APPEND_STR("Resource id #");
162-
/* break; */
163-
case IS_LONG: {
164-
long lval = Z_LVAL_PP(arg);
165-
char s_tmp[MAX_LENGTH_OF_LONG + 1];
166-
int l_tmp = zend_sprintf(s_tmp, "%ld", lval); /* SAFE */
167-
TRACE_APPEND_STRL(s_tmp, l_tmp);
168-
TRACE_APPEND_STR(", ");
169-
break;
170-
}
171-
case IS_DOUBLE: {
172-
double dval = Z_DVAL_PP(arg);
173-
char *s_tmp;
174-
int l_tmp;
175-
176-
s_tmp = emalloc(MAX_LENGTH_OF_DOUBLE + EG(precision) + 1);
177-
l_tmp = zend_sprintf(s_tmp, "%.*G", (int) EG(precision), dval); /* SAFE */
178-
TRACE_APPEND_STRL(s_tmp, l_tmp);
179-
/* %G already handles removing trailing zeros from the fractional part, yay */
180-
efree(s_tmp);
181-
TRACE_APPEND_STR(", ");
182-
break;
183-
}
184-
case IS_ARRAY:
185-
TRACE_APPEND_STR("Array, ");
186-
break;
187-
case IS_OBJECT: {
188-
zval tmp;
189-
zstr class_name;
190-
zend_uint class_name_len;
191-
int dup;
192-
193-
TRACE_APPEND_STR("Object(");
194-
195-
dup = zend_get_object_classname(*arg, &class_name, &class_name_len TSRMLS_CC);
196-
197-
ZVAL_UNICODEL(&tmp, class_name.u, class_name_len, 1);
198-
convert_to_string_with_converter(&tmp, ZEND_U_CONVERTER(UG(output_encoding_conv)));
199-
TRACE_APPEND_STRL(Z_STRVAL(tmp), Z_STRLEN(tmp));
200-
zval_dtor(&tmp);
201-
202-
if(!dup) {
203-
efree(class_name.v);
204-
}
205-
206-
TRACE_APPEND_STR("), ");
207-
break;
208-
}
209-
default:
210-
break;
211-
}
212-
return ZEND_HASH_APPLY_KEEP;
213-
}
214-
/* }}} */
215-
216-
217-
static int mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */
218-
{
219-
char *s_tmp, **str;
220-
int *len, *num;
221-
long line;
222-
HashTable *ht = Z_ARRVAL_PP(frame);
223-
zval **file, **tmp;
224-
uint * level;
225-
226-
level = va_arg(args, uint *);
227-
str = va_arg(args, char**);
228-
len = va_arg(args, int*);
229-
num = va_arg(args, int*);
230-
231-
if (!*level) {
232-
return ZEND_HASH_APPLY_KEEP;
233-
}
234-
--*level;
235-
236-
s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1);
237-
sprintf(s_tmp, "#%d ", (*num)++);
238-
TRACE_APPEND_STRL(s_tmp, strlen(s_tmp));
239-
efree(s_tmp);
240-
if (zend_ascii_hash_find(ht, "file", sizeof("file"), (void**)&file) == SUCCESS) {
241-
if (zend_ascii_hash_find(ht, "line", sizeof("line"), (void**)&tmp) == SUCCESS) {
242-
line = Z_LVAL_PP(tmp);
243-
} else {
244-
line = 0;
245-
}
246-
TRACE_APPEND_ZVAL(*file);
247-
s_tmp = emalloc(MAX_LENGTH_OF_LONG + 2 + 1);
248-
sprintf(s_tmp, "(%ld): ", line);
249-
TRACE_APPEND_STRL(s_tmp, strlen(s_tmp));
250-
efree(s_tmp);
251-
} else {
252-
TRACE_APPEND_STR("[internal function]: ");
253-
}
254-
TRACE_APPEND_KEY("class");
255-
TRACE_APPEND_KEY("type");
256-
TRACE_APPEND_KEY("function");
257-
TRACE_APPEND_CHR('(');
258-
if (zend_ascii_hash_find(ht, "args", sizeof("args"), (void**)&tmp) == SUCCESS) {
259-
int last_len = *len;
260-
zend_hash_apply_with_arguments(Z_ARRVAL_PP(tmp) TSRMLS_CC, (apply_func_args_t)mysqlnd_build_trace_args, 2, str, len);
261-
if (last_len != *len) {
262-
*len -= 2; /* remove last ', ' */
263-
}
264-
}
265-
TRACE_APPEND_STR(")\n");
266-
return ZEND_HASH_APPLY_KEEP;
267-
}
268-
/* }}} */
269-
270-
271-
#else /* PHP 5*/
272-
273-
27428
/* {{{ gettraceasstring() macros */
27529
#define TRACE_APPEND_CHR(chr) \
27630
*str = (char*)erealloc(*str, *len + 1 + 1); \
@@ -295,7 +49,8 @@ static int mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_l
29549
/* }}} */
29650

29751

298-
static int mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */
52+
static int
53+
mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */
29954
{
30055
char **str;
30156
int *len;
@@ -391,7 +146,8 @@ static int mysqlnd_build_trace_args(zval **arg TSRMLS_DC, int num_args, va_list
391146
}
392147
/* }}} */
393148

394-
static int mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */
149+
static int
150+
mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */
395151
{
396152
char *s_tmp, **str;
397153
int *len, *num;
@@ -442,10 +198,10 @@ static int mysqlnd_build_trace_string(zval **frame TSRMLS_DC, int num_args, va_l
442198
return ZEND_HASH_APPLY_KEEP;
443199
}
444200
/* }}} */
445-
#endif
446201

447202

448-
PHPAPI char * mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC)
203+
PHPAPI char *
204+
mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC)
449205
{
450206
zval *trace;
451207
char *res = estrdup(""), **str = &res, *s_tmp;

ext/mysqlnd/mysqlnd_enum_n_def.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,7 @@ typedef enum mysqlnd_option
167167
MYSQL_PLUGIN_DIR,
168168
MYSQL_DEFAULT_AUTH,
169169
MYSQL_SERVER_PUBLIC_KEY,
170-
#if MYSQLND_UNICODE
171-
MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE = 200,
172-
#endif
170+
MYSQLND_DEPRECATED_ENUM1 = 200,
173171
#ifdef MYSQLND_STRING_TO_INT_CONVERSION
174172
MYSQLND_OPT_INT_AND_FLOAT_NATIVE = 201,
175173
#endif

0 commit comments

Comments
 (0)