Browse Source

Bug#15960005 VALGRIND WARNINGS IN PROCESS_ARGS

Both <width> and <precision> can be specified as numbers or '*'.
  If an asterisk is used, an argument of type int is consumed.
pull/73/head
Tor Didriksen 13 years ago
parent
commit
8dc7c505a3
  1. 1
      include/mysql/service_my_snprintf.h
  2. 2
      strings/my_vsnprintf.c

1
include/mysql/service_my_snprintf.h

@ -49,6 +49,7 @@
string will be quoted according to MySQL identifier quoting rules.
Both <width> and <precision> can be specified as numbers or '*'.
If an asterisk is used, an argument of type int is consumed.
<length modifier> can be 'l', 'll', or 'z'.

2
strings/my_vsnprintf.c

@ -343,6 +343,7 @@ start:
print_arr[idx].length--;
DBUG_ASSERT(*fmt == '$' && print_arr[idx].length < MAX_ARGS);
args_arr[print_arr[idx].length].arg_type= 'd';
args_arr[print_arr[idx].length].have_longlong= 0;
print_arr[idx].flags|= LENGTH_ARG;
arg_count= max(arg_count, print_arr[idx].length + 1);
fmt++;
@ -361,6 +362,7 @@ start:
print_arr[idx].width--;
DBUG_ASSERT(*fmt == '$' && print_arr[idx].width < MAX_ARGS);
args_arr[print_arr[idx].width].arg_type= 'd';
args_arr[print_arr[idx].width].have_longlong= 0;
print_arr[idx].flags|= WIDTH_ARG;
arg_count= max(arg_count, print_arr[idx].width + 1);
fmt++;

Loading…
Cancel
Save