@@ -163,8 +163,9 @@ static inline void APPEND_HEX(char *&to, uchar value)
163
163
}
164
164
165
165
166
- void Static_binary_string ::qs_append_hex (const char *str, uint32 len)
166
+ void Binary_string ::qs_append_hex (const char *str, uint32 len)
167
167
{
168
+ ASSERT_LENGTH (len*2 );
168
169
const char *str_end= str + len;
169
170
for (char *to= Ptr + str_length ; str < str_end; str++)
170
171
APPEND_HEX (to, (uchar) *str);
@@ -665,7 +666,7 @@ bool String::append_with_prefill(const char *s,uint32 arg_length,
665
666
}
666
667
667
668
668
- int Static_binary_string ::strstr (const Static_binary_string &s, uint32 offset)
669
+ int Binary_string ::strstr (const Binary_string &s, uint32 offset)
669
670
{
670
671
if (s.length ()+offset <= str_length)
671
672
{
@@ -696,7 +697,7 @@ int Static_binary_string::strstr(const Static_binary_string &s, uint32 offset)
696
697
** Search string from end. Offset is offset to the end of string
697
698
*/
698
699
699
- int Static_binary_string ::strrstr (const Static_binary_string &s, uint32 offset)
700
+ int Binary_string ::strrstr (const Binary_string &s, uint32 offset)
700
701
{
701
702
if (s.length () <= offset && offset <= str_length)
702
703
{
@@ -766,38 +767,43 @@ int Binary_string::reserve(size_t space_needed, size_t grow_by)
766
767
return FALSE ;
767
768
}
768
769
769
- void Static_binary_string ::qs_append (const char *str, size_t len)
770
+ void Binary_string ::qs_append (const char *str, size_t len)
770
771
{
772
+ ASSERT_LENGTH (len);
771
773
memcpy (Ptr + str_length, str, len + 1 );
772
774
str_length += (uint32)len;
773
775
}
774
776
775
- void Static_binary_string ::qs_append (double d)
777
+ void Binary_string ::qs_append (double d)
776
778
{
777
779
char *buff = Ptr + str_length;
778
- str_length+= (uint32) my_gcvt (d, MY_GCVT_ARG_DOUBLE, FLOATING_POINT_BUFFER - 1 , buff,
779
- NULL );
780
+ size_t length= my_gcvt (d, MY_GCVT_ARG_DOUBLE, FLOATING_POINT_BUFFER - 1 ,
781
+ buff, NULL );
782
+ ASSERT_LENGTH (length);
783
+ str_length+= (uint32) length;
780
784
}
781
785
782
- void Static_binary_string ::qs_append (const double *d)
786
+ void Binary_string ::qs_append (const double *d)
783
787
{
784
788
double ld;
785
789
float8get (ld, (const char *) d);
786
790
qs_append (ld);
787
791
}
788
792
789
- void Static_binary_string ::qs_append (int i)
793
+ void Binary_string ::qs_append (int i)
790
794
{
791
795
char *buff= Ptr + str_length;
792
796
char *end= int10_to_str (i, buff, -10 );
793
- str_length+= (int ) (end-buff);
797
+ ASSERT_LENGTH ((size_t ) (end-buff));
798
+ str_length+= (uint32) (end-buff);
794
799
}
795
800
796
- void Static_binary_string ::qs_append (ulonglong i)
801
+ void Binary_string ::qs_append (ulonglong i)
797
802
{
798
803
char *buff= Ptr + str_length;
799
804
char *end= longlong10_to_str (i, buff, 10 );
800
- str_length+= (int ) (end-buff);
805
+ ASSERT_LENGTH ((size_t ) (end-buff));
806
+ str_length+= (uint32) (end-buff);
801
807
}
802
808
803
809
0 commit comments