summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorAlexander Nozdrin <alik@sun.com>2009-11-06 17:20:27 +0300
committerAlexander Nozdrin <alik@sun.com>2009-11-06 17:20:27 +0300
commit2ca5b2c7916fe5312617aa992d5292e724af75f0 (patch)
tree3fcae3d99a56ba99d825ae4457901d49e4b474e3 /mysys
parent7a90f041cc3b6db8600e9469cab6d436653552ec (diff)
parent26fc5583196f7b88256cb733be033757a0517266 (diff)
downloadmariadb-git-2ca5b2c7916fe5312617aa992d5292e724af75f0.tar.gz
Manual merge from mysql-trunk-merge.
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_getopt.c4
-rw-r--r--mysys/typelib.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/mysys/my_getopt.c b/mysys/my_getopt.c
index 22b1216f99c..f444e0f0c94 100644
--- a/mysys/my_getopt.c
+++ b/mysys/my_getopt.c
@@ -1041,9 +1041,11 @@ static void init_one_value(const struct my_option *option, uchar* *variable,
*((longlong*) variable)= (longlong) getopt_ll_limit_value((longlong) value, option, NULL);
break;
case GET_ULL:
- case GET_SET:
*((ulonglong*) variable)= (ulonglong) getopt_ull_limit_value((ulonglong) value, option, NULL);
break;
+ case GET_SET:
+ *((ulonglong*) variable)= (ulonglong) value;
+ break;
case GET_DOUBLE:
*((double*) variable)= (double) value;
break;
diff --git a/mysys/typelib.c b/mysys/typelib.c
index 92ffe9316ff..a0fe8a96a89 100644
--- a/mysys/typelib.c
+++ b/mysys/typelib.c
@@ -182,7 +182,10 @@ my_ulonglong find_typeset(char *x, TYPELIB *lib, int *err)
{
(*err)++;
i= x;
- while (*x && *x != field_separator) x++;
+ while (*x && *x != field_separator)
+ x++;
+ if (x[0] && x[1]) // skip separator if found
+ x++;
if ((find= find_type(i, lib, 2 | 8) - 1) < 0)
DBUG_RETURN(0);
result|= (ULL(1) << find);