mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.5 into 10.6
This commit is contained in:
@@ -759,7 +759,10 @@ ulonglong my_strntoull_8bit(CHARSET_INFO *cs,
|
||||
return (~(ulonglong) 0);
|
||||
}
|
||||
|
||||
return (negative ? -((longlong) i) : (longlong) i);
|
||||
/* Avoid undefinite behavior - negation of LONGLONG_MIN */
|
||||
return negative && (longlong) i != LONGLONG_MIN ?
|
||||
-((longlong) i) :
|
||||
(longlong) i;
|
||||
|
||||
noconv:
|
||||
err[0]= EDOM;
|
||||
|
@@ -617,7 +617,10 @@ bs:
|
||||
return (~(ulonglong) 0);
|
||||
}
|
||||
|
||||
return (negative ? -((longlong) res) : (longlong) res);
|
||||
/* Avoid undefinite behavior - negation of LONGLONG_MIN */
|
||||
return negative && (longlong) res != LONGLONG_MIN ?
|
||||
-((longlong) res) :
|
||||
(longlong) res;
|
||||
}
|
||||
|
||||
|
||||
@@ -1009,6 +1012,8 @@ end4:
|
||||
{
|
||||
if (li > MAX_NEGATIVE_NUMBER)
|
||||
goto overflow;
|
||||
if (li == MAX_NEGATIVE_NUMBER) // Avoid undefinite behavior in negation
|
||||
return LONGLONG_MIN;
|
||||
return -((longlong) li);
|
||||
}
|
||||
return (longlong) li;
|
||||
@@ -2589,6 +2594,8 @@ end4:
|
||||
{
|
||||
if (li > MAX_NEGATIVE_NUMBER)
|
||||
goto overflow;
|
||||
if (li == MAX_NEGATIVE_NUMBER) // Avoid undefinite behavior in negation
|
||||
return LONGLONG_MIN;
|
||||
return -((longlong) li);
|
||||
}
|
||||
return (longlong) li;
|
||||
|
@@ -241,8 +241,10 @@ end4:
|
||||
*endptr= (char*) s;
|
||||
if (negative)
|
||||
{
|
||||
if (li >= MAX_NEGATIVE_NUMBER) // Avoid undefined behavior
|
||||
if (li > MAX_NEGATIVE_NUMBER)
|
||||
goto overflow;
|
||||
if (li == MAX_NEGATIVE_NUMBER) // Avoid undefined behavior
|
||||
return LONGLONG_MIN;
|
||||
return -((longlong) li);
|
||||
}
|
||||
return (longlong) li;
|
||||
|
Reference in New Issue
Block a user