summaryrefslogtreecommitdiff
path: root/sql/strfunc.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-04-21 11:45:00 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-04-21 11:45:00 +0300
commit4930f9c94bb610f4d76b73a8b6b351d9fa9c5d68 (patch)
treeed6b2754116233ca8a39515c7ba06e09b2a8cdc8 /sql/strfunc.cc
parent502b769561760f35d2b612ab984906c8a4bb9b51 (diff)
parentd104fe6f734df2aebe24b3e5e3dbc189a5302920 (diff)
downloadmariadb-git-4930f9c94bb610f4d76b73a8b6b351d9fa9c5d68.tar.gz
Merge 10.5 into 10.6
Diffstat (limited to 'sql/strfunc.cc')
-rw-r--r--sql/strfunc.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/strfunc.cc b/sql/strfunc.cc
index c488ab1afbb..6c8fd24f780 100644
--- a/sql/strfunc.cc
+++ b/sql/strfunc.cc
@@ -81,14 +81,17 @@ ulonglong find_set(const TYPELIB *lib,
var_len= (uint) (pos - start);
uint find= cs ? find_type2(lib, start, var_len, cs) :
find_type(lib, start, var_len, (bool) 0);
- if (unlikely(!find && *err_len == 0))
+ if (unlikely(!find))
{
- // report the first error with length > 0
- *err_pos= (char*) start;
- *err_len= var_len;
- *set_warning= 1;
+ if (*err_len == 0)
+ {
+ // report the first error with length > 0
+ *err_pos= (char*) start;
+ *err_len= var_len;
+ *set_warning= 1;
+ }
}
- else
+ else if (find <= sizeof(longlong) * 8)
found|= 1ULL << (find - 1);
if (pos >= end)
break;
@@ -402,4 +405,3 @@ const char *flagset_to_string(THD *thd, LEX_CSTRING *result, ulonglong set,
return result->str;
}
-