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:
unknown 2004-05-27 17:54:40 +04:00
commit 2d1384e442
20 changed files with 98 additions and 111 deletions

View file

@ -83,7 +83,7 @@ longlong2str:
divl %ebx
decl %ecx
movl %eax,%esi # quotent in ebp:esi
movb _dig_vec(%edx),%al # al is faster than dl
movb _dig_vec_upper(%edx),%al # al is faster than dl
movb %al,(%ecx) # store value in buff
.align 4
.L155:
@ -93,7 +93,7 @@ longlong2str:
jl .L153
je .L10_mov # Ready
movl %esi,%eax
movl $_dig_vec,%ebp
movl $_dig_vec_upper,%ebp
.align 4
.L154: # Do rest with integer precision