From 44a75553840b4ecb0be4e89eafb267d1d005dc72 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 24 Aug 2004 18:20:27 +0200 Subject: followup --- sql/field.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'sql/field.cc') diff --git a/sql/field.cc b/sql/field.cc index f1d1227ace8..bbb91fc534d 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -4403,16 +4403,14 @@ char *Field_string::pack(char *to, const char *from, uint max_length) char *Field_string::pack_key(char *to, const char *from, uint max_length) { - const char *end=from+min(field_length,max_length); - int length; - while (end > from && end[-1] == ' ') - end--; - length= end-from; + int length=min(field_length,max_length); uint char_length= (field_charset->mbmaxlen > 1) ? max_length/field_charset->mbmaxlen : max_length; if (length > char_length) - char_length= my_charpos(field_charset, from, end, char_length); + char_length= my_charpos(field_charset, from, from+length, char_length); set_if_smaller(length, char_length); + while (length && from[length-1] == ' ') + length--; *to= (uchar)length; memcpy(to+1, from, length); return to+1+length; -- cgit v1.2.1