Copy or convert a string. */
| 2703 | Copy or convert a string. |
| 2704 | */ |
| 2705 | bool THD::copy_fix(CHARSET_INFO *dstcs, LEX_STRING *dst, |
| 2706 | CHARSET_INFO *srccs, const char *src, size_t src_length, |
| 2707 | String_copier *status) const |
| 2708 | { |
| 2709 | DBUG_ENTER("THD::copy_fix"); |
| 2710 | size_t dst_length= dstcs->mbmaxlen * src_length; |
| 2711 | if (alloc_lex_string(dst, dst_length + 1)) |
| 2712 | DBUG_RETURN(true); // EOM |
| 2713 | dst->length= status->well_formed_copy(dstcs, dst->str, dst_length, |
| 2714 | srccs, src, src_length, src_length); |
| 2715 | dst->str[dst->length]= '\0'; |
| 2716 | DBUG_RETURN(false); |
| 2717 | } |
| 2718 | |
| 2719 | |
| 2720 | class String_copier_with_error: public String_copier |
no test coverage detected