diff options
author | unknown <monty@mysql.com> | 2005-05-13 14:04:32 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-05-13 14:04:32 +0300 |
commit | 2a695127a65a321b98f0db6f1b113af3403376e3 (patch) | |
tree | e79a2291f34c9b4f5b7aa00b0d318368038008da /strings | |
parent | cbbc4ff6a25accdd3e11a0e2719c2201d23a7b68 (diff) | |
download | mariadb-git-2a695127a65a321b98f0db6f1b113af3403376e3.tar.gz |
Fixes during review
mysql-test/r/select.result:
Better error message
mysql-test/t/select.test:
Better error message
sql/hostname.cc:
Join identical code
sql/sql_yacc.yy:
Combine code (and get a better error message)
strings/ctype-ucs2.c:
Cast pointer differencess
Diffstat (limited to 'strings')
-rw-r--r-- | strings/ctype-ucs2.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c index f12cfe3256e..12c1ae905cf 100644 --- a/strings/ctype-ucs2.c +++ b/strings/ctype-ucs2.c @@ -1251,7 +1251,7 @@ static uint my_numchars_ucs2(CHARSET_INFO *cs __attribute__((unused)), const char *b, const char *e) { - return (e-b)/2; + return (uint) (e-b)/2; } @@ -1261,7 +1261,8 @@ uint my_charpos_ucs2(CHARSET_INFO *cs __attribute__((unused)), const char *e __attribute__((unused)), uint pos) { - return pos > e - b ? e - b + 2 : pos * 2; + uint string_length= (uint) (e - b); + return pos > string_length ? string_length + 2 : pos * 2; } @@ -1270,7 +1271,8 @@ uint my_well_formed_len_ucs2(CHARSET_INFO *cs __attribute__((unused)), const char *b, const char *e, uint nchars, int *error) { - uint nbytes= (e-b) & ~ (uint)1; + /* Ensure string length is dividable with 2 */ + uint nbytes= ((uint) (e-b)) & ~(uint) 1; *error= 0; nchars*= 2; return min(nbytes, nchars); |