@@ -412,7 +412,7 @@ void field_real::add()
412
412
413
413
if ((decs = decimals ()) >= FLOATING_POINT_DECIMALS)
414
414
{
415
- length= sprintf (buff, " %g" , num);
415
+ length= snprintf (buff, sizeof (buff) , " %g" , num);
416
416
if (rint (num) != num)
417
417
max_notzero_dec_len = 1 ;
418
418
}
@@ -423,7 +423,7 @@ void field_real::add()
423
423
snprintf (buff, sizeof (buff)-1 , " %-.*f" , (int ) decs, num);
424
424
length = (uint) strlen (buff);
425
425
#else
426
- length= sprintf (buff, " %-.*f" , (int ) decs, num);
426
+ length= snprintf (buff, sizeof (buff) , " %-.*f" , (int ) decs, num);
427
427
#endif
428
428
429
429
// We never need to check further than this
@@ -810,32 +810,32 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
810
810
if (can_be_still_num)
811
811
{
812
812
if (num_info.is_float )
813
- sprintf (buff, " DOUBLE" ); // number was like 1e+50... TODO:
813
+ snprintf (buff, sizeof (buff) , " DOUBLE" ); // number was like 1e+50... TODO:
814
814
else if (num_info.decimals ) // DOUBLE(%d,%d) sometime
815
815
{
816
816
if (num_info.dval > -FLT_MAX && num_info.dval < FLT_MAX)
817
- sprintf (buff, " FLOAT(%d,%d)" , (num_info.integers + num_info.decimals ), num_info.decimals );
817
+ snprintf (buff, sizeof (buff) , " FLOAT(%d,%d)" , (num_info.integers + num_info.decimals ), num_info.decimals );
818
818
else
819
- sprintf (buff, " DOUBLE(%d,%d)" , (num_info.integers + num_info.decimals ), num_info.decimals );
819
+ snprintf (buff, sizeof (buff) , " DOUBLE(%d,%d)" , (num_info.integers + num_info.decimals ), num_info.decimals );
820
820
}
821
821
else if (ev_num_info.llval >= -128 &&
822
822
ev_num_info.ullval <=
823
823
(ulonglong) (ev_num_info.llval >= 0 ? 255 : 127 ))
824
- sprintf (buff, " TINYINT(%d)" , num_info.integers );
824
+ snprintf (buff, sizeof (buff) , " TINYINT(%d)" , num_info.integers );
825
825
else if (ev_num_info.llval >= INT_MIN16 &&
826
826
ev_num_info.ullval <= (ulonglong) (ev_num_info.llval >= 0 ?
827
827
UINT_MAX16 : INT_MAX16))
828
- sprintf (buff, " SMALLINT(%d)" , num_info.integers );
828
+ snprintf (buff, sizeof (buff) , " SMALLINT(%d)" , num_info.integers );
829
829
else if (ev_num_info.llval >= INT_MIN24 &&
830
830
ev_num_info.ullval <= (ulonglong) (ev_num_info.llval >= 0 ?
831
831
UINT_MAX24 : INT_MAX24))
832
- sprintf (buff, " MEDIUMINT(%d)" , num_info.integers );
832
+ snprintf (buff, sizeof (buff) , " MEDIUMINT(%d)" , num_info.integers );
833
833
else if (ev_num_info.llval >= INT_MIN32 &&
834
834
ev_num_info.ullval <= (ulonglong) (ev_num_info.llval >= 0 ?
835
835
UINT_MAX32 : INT_MAX32))
836
- sprintf (buff, " INT(%d)" , num_info.integers );
836
+ snprintf (buff, sizeof (buff) , " INT(%d)" , num_info.integers );
837
837
else
838
- sprintf (buff, " BIGINT(%d)" , num_info.integers );
838
+ snprintf (buff, sizeof (buff) , " BIGINT(%d)" , num_info.integers );
839
839
answer->append (buff, (uint) strlen (buff));
840
840
if (ev_num_info.llval >= 0 && ev_num_info.min_dval >= 0 )
841
841
answer->append (STRING_WITH_LEN (" UNSIGNED" ));
@@ -853,12 +853,12 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
853
853
}
854
854
else if ((max_length * (total_rows - nulls)) < (sum + total_rows))
855
855
{
856
- sprintf (buff, " CHAR(%d)" , (int ) max_length);
856
+ snprintf (buff, sizeof (buff) , " CHAR(%d)" , (int ) max_length);
857
857
answer->append (buff, (uint) strlen (buff));
858
858
}
859
859
else
860
860
{
861
- sprintf (buff, " VARCHAR(%d)" , (int ) max_length);
861
+ snprintf (buff, sizeof (buff) , " VARCHAR(%d)" , (int ) max_length);
862
862
answer->append (buff, (uint) strlen (buff));
863
863
}
864
864
}
@@ -897,18 +897,18 @@ void field_real::get_opt_type(String *answer,
897
897
0 : (item->decimals + 1 ));
898
898
899
899
if (min_arg >= -128 && max_arg <= (min_arg >= 0 ? 255 : 127 ))
900
- sprintf (buff, " TINYINT(%d)" , len);
900
+ snprintf (buff, sizeof (buff) , " TINYINT(%d)" , len);
901
901
else if (min_arg >= INT_MIN16 && max_arg <= (min_arg >= 0 ?
902
902
UINT_MAX16 : INT_MAX16))
903
- sprintf (buff, " SMALLINT(%d)" , len);
903
+ snprintf (buff, sizeof (buff) , " SMALLINT(%d)" , len);
904
904
else if (min_arg >= INT_MIN24 && max_arg <= (min_arg >= 0 ?
905
905
UINT_MAX24 : INT_MAX24))
906
- sprintf (buff, " MEDIUMINT(%d)" , len);
906
+ snprintf (buff, sizeof (buff) , " MEDIUMINT(%d)" , len);
907
907
else if (min_arg >= INT_MIN32 && max_arg <= (min_arg >= 0 ?
908
908
UINT_MAX32 : INT_MAX32))
909
- sprintf (buff, " INT(%d)" , len);
909
+ snprintf (buff, sizeof (buff) , " INT(%d)" , len);
910
910
else
911
- sprintf (buff, " BIGINT(%d)" , len);
911
+ snprintf (buff, sizeof (buff) , " BIGINT(%d)" , len);
912
912
answer->append (buff, (uint) strlen (buff));
913
913
if (min_arg >= 0 )
914
914
answer->append (STRING_WITH_LEN (" UNSIGNED" ));
@@ -923,10 +923,10 @@ void field_real::get_opt_type(String *answer,
923
923
else
924
924
{
925
925
if (min_arg >= -FLT_MAX && max_arg <= FLT_MAX)
926
- sprintf (buff, " FLOAT(%d,%d)" , (int ) max_length - (item->decimals + 1 ) + max_notzero_dec_len,
926
+ snprintf (buff, sizeof (buff) , " FLOAT(%d,%d)" , (int ) max_length - (item->decimals + 1 ) + max_notzero_dec_len,
927
927
max_notzero_dec_len);
928
928
else
929
- sprintf (buff, " DOUBLE(%d,%d)" , (int ) max_length - (item->decimals + 1 ) + max_notzero_dec_len,
929
+ snprintf (buff, sizeof (buff) , " DOUBLE(%d,%d)" , (int ) max_length - (item->decimals + 1 ) + max_notzero_dec_len,
930
930
max_notzero_dec_len);
931
931
answer->append (buff, (uint) strlen (buff));
932
932
}
@@ -945,18 +945,18 @@ void field_longlong::get_opt_type(String *answer,
945
945
char buff[MAX_FIELD_WIDTH];
946
946
947
947
if (min_arg >= -128 && max_arg <= (min_arg >= 0 ? 255 : 127 ))
948
- sprintf (buff, " TINYINT(%d)" , (int ) max_length);
948
+ snprintf (buff, sizeof (buff) , " TINYINT(%d)" , (int ) max_length);
949
949
else if (min_arg >= INT_MIN16 && max_arg <= (min_arg >= 0 ?
950
950
UINT_MAX16 : INT_MAX16))
951
- sprintf (buff, " SMALLINT(%d)" , (int ) max_length);
951
+ snprintf (buff, sizeof (buff) , " SMALLINT(%d)" , (int ) max_length);
952
952
else if (min_arg >= INT_MIN24 && max_arg <= (min_arg >= 0 ?
953
953
UINT_MAX24 : INT_MAX24))
954
- sprintf (buff, " MEDIUMINT(%d)" , (int ) max_length);
954
+ snprintf (buff, sizeof (buff) , " MEDIUMINT(%d)" , (int ) max_length);
955
955
else if (min_arg >= INT_MIN32 && max_arg <= (min_arg >= 0 ?
956
956
UINT_MAX32 : INT_MAX32))
957
- sprintf (buff, " INT(%d)" , (int ) max_length);
957
+ snprintf (buff, sizeof (buff) , " INT(%d)" , (int ) max_length);
958
958
else
959
- sprintf (buff, " BIGINT(%d)" , (int ) max_length);
959
+ snprintf (buff, sizeof (buff) , " BIGINT(%d)" , (int ) max_length);
960
960
answer->append (buff, (uint) strlen (buff));
961
961
if (min_arg >= 0 )
962
962
answer->append (STRING_WITH_LEN (" UNSIGNED" ));
@@ -976,15 +976,15 @@ void field_ulonglong::get_opt_type(String *answer,
976
976
char buff[MAX_FIELD_WIDTH];
977
977
978
978
if (max_arg < 256 )
979
- sprintf (buff, " TINYINT(%d) UNSIGNED" , (int ) max_length);
979
+ snprintf (buff, sizeof (buff) , " TINYINT(%d) UNSIGNED" , (int ) max_length);
980
980
else if (max_arg <= ((2 * INT_MAX16) + 1 ))
981
- sprintf (buff, " SMALLINT(%d) UNSIGNED" , (int ) max_length);
981
+ snprintf (buff, sizeof (buff) , " SMALLINT(%d) UNSIGNED" , (int ) max_length);
982
982
else if (max_arg <= ((2 * INT_MAX24) + 1 ))
983
- sprintf (buff, " MEDIUMINT(%d) UNSIGNED" , (int ) max_length);
983
+ snprintf (buff, sizeof (buff) , " MEDIUMINT(%d) UNSIGNED" , (int ) max_length);
984
984
else if (max_arg < (((ulonglong) 1 ) << 32 ))
985
- sprintf (buff, " INT(%d) UNSIGNED" , (int ) max_length);
985
+ snprintf (buff, sizeof (buff) , " INT(%d) UNSIGNED" , (int ) max_length);
986
986
else
987
- sprintf (buff, " BIGINT(%d) UNSIGNED" , (int ) max_length);
987
+ snprintf (buff, sizeof (buff) , " BIGINT(%d) UNSIGNED" , (int ) max_length);
988
988
// if item is FIELD_ITEM, it _must_be_ Field_num in this class
989
989
answer->append (buff, (uint) strlen (buff));
990
990
if (item->type () == Item::FIELD_ITEM &&
@@ -1005,7 +1005,7 @@ void field_decimal::get_opt_type(String *answer,
1005
1005
my_decimal_set_zero (&zero);
1006
1006
my_bool is_unsigned= (my_decimal_cmp (&zero, &min_arg) >= 0 );
1007
1007
1008
- length= sprintf (buff, " DECIMAL(%d, %d)" ,
1008
+ length= snprintf (buff, sizeof (buff) , " DECIMAL(%d, %d)" ,
1009
1009
(int ) (max_length - (item->decimals ? 1 : 0 )),
1010
1010
item->decimals );
1011
1011
if (is_unsigned)
0 commit comments