| 4375 | */ |
| 4376 | |
| 4377 | static bool get_string_parameter(char *to, const char *from, size_t length, |
| 4378 | const char *name, CHARSET_INFO *cs) |
| 4379 | { |
| 4380 | if (from) // Empty paramaters allowed |
| 4381 | { |
| 4382 | size_t from_length= strlen(from); |
| 4383 | size_t from_numchars= cs->numchars(from, from + from_length); |
| 4384 | if (from_numchars > length / cs->mbmaxlen) |
| 4385 | { |
| 4386 | my_error(ER_WRONG_STRING_LENGTH, MYF(0), from, name, |
| 4387 | (int) (length / cs->mbmaxlen)); |
| 4388 | return 1; |
| 4389 | } |
| 4390 | memcpy(to, from, from_length+1); |
| 4391 | } |
| 4392 | return 0; |
| 4393 | } |
| 4394 | |
| 4395 | |
| 4396 | /** |
no test coverage detected