mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should
produce hex digits in lower case). (fixed version) Replaced _dig_vec array with two _dig_vec_upper/_dig_vec_lower arrays. Added extra argument to int2str function which controls case of digits you get. Replaced lot of invocations of int2str for decimal radix with more optimized int10_to_str() function. Removed unused my_itoa/my_ltoa functions. client/mysql.cc: Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str() call. client/mysqladmin.c: Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str() call. dbug/dbug.c: _dig_vec became _dig_vec_upper. include/m_string.h: _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower. my_itoa()/my_ltoa() functions were removed because they were never used in our code. int2str() now has one more argument which controls case of digits it will produce. include/my_global.h: my_itoa()/my_ltoa() functions were removed because they were never used in our code. isam/isamchk.c: Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str() call. libmysql/libmysql.def: _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower. myisam/myisamchk.c: Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str() call. mysys/mf_tempfile.c: _dig_vec became _dig_vec_upper. mysys/my_error.c: Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str() call. mysys/my_tempnam.c: _dig_vec became _dig_vec_upper. sql-common/client.c: Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str() call. sql/item_strfunc.cc: _dig_vec became _dig_vec_upper. Also we don't need hex[] array in this file now because we have _dig_vec_lower instead. sql/mysqld.cc: Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str() call. sql/password.c: _dig_vec became _dig_vec_upper. sql/sql_bitmap.h: _dig_vec became _dig_vec_upper. strings/int2str.c: Replaced _dig_vec by _dig_vec_upper/_dig_vec_lower pair. int2str() now has one more argument which controls case of digits it will produce. my_itoa()/my_ltoa() functions were removed because they were never used in our code. strings/longlong2str-x86.s: _dig_vec became _dig_vec_upper. strings/longlong2str.c: _dig_vec became _dig_vec_upper. strings/my_vsnprintf.c: If my_snprintf() is printing %x argument it should produce lower case hexadecimal digits to be snprintf() compatible.
This commit is contained in:
@ -64,15 +64,15 @@ public:
|
||||
char *s=buf; int i;
|
||||
for (i=sizeof(buffer)-1; i>=0 ; i--)
|
||||
{
|
||||
if ((*s=_dig_vec[buffer[i] >> 4]) != '0')
|
||||
if ((*s=_dig_vec_upper[buffer[i] >> 4]) != '0')
|
||||
break;
|
||||
if ((*s=_dig_vec[buffer[i] & 15]) != '0')
|
||||
if ((*s=_dig_vec_upper[buffer[i] & 15]) != '0')
|
||||
break;
|
||||
}
|
||||
for (s++, i-- ; i>=0 ; i--)
|
||||
{
|
||||
*s++=_dig_vec[buffer[i] >> 4];
|
||||
*s++=_dig_vec[buffer[i] & 15];
|
||||
*s++=_dig_vec_upper[buffer[i] >> 4];
|
||||
*s++=_dig_vec_upper[buffer[i] & 15];
|
||||
}
|
||||
*s=0;
|
||||
return buf;
|
||||
|
Reference in New Issue
Block a user