summaryrefslogtreecommitdiff
path: root/strings/ctype-mb.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-04-06 21:19:20 +0200
committerunknown <serg@serg.mylan>2005-04-06 21:19:20 +0200
commit3960c84f1202cf2e47427df1ca869a054a67f829 (patch)
treed7dfbdbb37dfe91906c38499758105cb11079399 /strings/ctype-mb.c
parent6f23625d4e70dd2977afcbbd7d12e5f09fe5684a (diff)
parentcde615c9cbff404b6a6c82a1ab7a6bcb8742b88e (diff)
downloadmariadb-git-3960c84f1202cf2e47427df1ca869a054a67f829.tar.gz
manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and Bar's well_formed_len() changes in ndb code did not make it and should be re-applied manually BitKeeper/etc/logging_ok: auto-union include/m_ctype.h: Auto merged innobase/btr/btr0pcur.c: Auto merged innobase/include/btr0pcur.h: Auto merged innobase/include/os0file.h: Auto merged innobase/os/os0file.c: Auto merged innobase/row/row0sel.c: Auto merged innobase/srv/srv0start.c: Auto merged mysql-test/r/user_var.result: Auto merged mysql-test/t/user_var.test: Auto merged ndb/include/ndbapi/NdbTransaction.hpp: Auto merged ndb/src/ndbapi/NdbTransaction.cpp: Auto merged ndb/tools/desc.cpp: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-mb.c: Auto merged strings/ctype-simple.c: Auto merged strings/ctype-sjis.c: Auto merged strings/ctype-ucs2.c: Auto merged strings/ctype-ujis.c: Auto merged BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d: ul ndb/include/ndbapi/NdbScanOperation.hpp: ul ndb/src/ndbapi/NdbIndexOperation.cpp: ul ndb/src/ndbapi/NdbOperationDefine.cpp: ul ndb/src/ndbapi/NdbOperationSearch.cpp: ul ndb/src/ndbapi/NdbScanOperation.cpp: ul sql/field.cc: manually merged, because bk messed it up sql/sql_yacc.yy: merged
Diffstat (limited to 'strings/ctype-mb.c')
-rw-r--r--strings/ctype-mb.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c
index a9edb35d8a4..b603a8ea0a8 100644
--- a/strings/ctype-mb.c
+++ b/strings/ctype-mb.c
@@ -264,18 +264,21 @@ uint my_charpos_mb(CHARSET_INFO *cs __attribute__((unused)),
}
-uint my_well_formed_len_mb(CHARSET_INFO *cs,
- const char *b, const char *e, uint pos)
+uint my_well_formed_len_mb(CHARSET_INFO *cs, const char *b, const char *e,
+ uint pos, int *error)
{
const char *b_start= b;
-
+ *error= 0;
while (pos)
{
my_wc_t wc;
int mblen;
if ((mblen= cs->cset->mb_wc(cs, &wc, (uchar*) b, (uchar*) e)) <= 0)
+ {
+ *error= b < e ? 1 : 0;
break;
+ }
b+= mblen;
pos--;
}