353
bool String::append(IO_CACHE* file, uint32_t arg_length)
355
if (realloc(str_length+arg_length))
357
if (my_b_read(file, (unsigned char*) Ptr + str_length, arg_length))
362
str_length+=arg_length;
366
353
bool String::append_with_prefill(const char *s,uint32_t arg_length,
367
354
uint32_t full_length, char fill_char)
494
// added by Holyfoot for "geometry" needs
495
int String::reserve(uint32_t space_needed, uint32_t grow_by)
497
if (Alloced_length < str_length + space_needed)
499
if (realloc(Alloced_length + cmax(space_needed, grow_by) - 1))
505
void String::qs_append(const char *str, uint32_t len)
507
memcpy(Ptr + str_length, str, len + 1);
511
void String::qs_append(double d)
513
char *buff = Ptr + str_length;
514
str_length+= my_gcvt(d, MY_GCVT_ARG_DOUBLE, FLOATING_POINT_BUFFER - 1, buff, NULL);
517
void String::qs_append(double *d)
520
float8get(ld, (char*) d);
524
void String::qs_append(int i)
526
char *buff= Ptr + str_length;
527
char *end= int10_to_str(i, buff, -10);
528
str_length+= (int) (end-buff);
531
void String::qs_append(uint32_t i)
533
char *buff= Ptr + str_length;
534
char *end= int10_to_str(i, buff, 10);
535
str_length+= (int) (end-buff);
539
483
Compare strings according to collation, without end space.