diff options
Diffstat (limited to 'sql/item_inetfunc.cc')
-rw-r--r-- | sql/item_inetfunc.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sql/item_inetfunc.cc b/sql/item_inetfunc.cc index d4788a39d5e..8a3345ecc81 100644 --- a/sql/item_inetfunc.cc +++ b/sql/item_inetfunc.cc @@ -149,13 +149,14 @@ longlong Item_func_inet_bool_base::val_int() { DBUG_ASSERT(fixed); - if (args[0]->result_type() != STRING_RESULT) // String argument expected + // String argument expected + if (unlikely(args[0]->result_type() != STRING_RESULT)) return 0; String buffer; String *arg_str= args[0]->val_str(&buffer); - if (!arg_str) // Out-of memory happened. The error has been reported. + if (unlikely(!arg_str)) // Out-of memory happened. error has been reported. return 0; // Or: the underlying field is NULL return calc_value(arg_str) ? 1 : 0; @@ -175,7 +176,8 @@ String *Item_func_inet_str_base::val_str_ascii(String *buffer) { DBUG_ASSERT(fixed); - if (args[0]->result_type() != STRING_RESULT) // String argument expected + // String argument expected + if (unlikely(args[0]->result_type() != STRING_RESULT)) { null_value= true; return NULL; @@ -183,15 +185,17 @@ String *Item_func_inet_str_base::val_str_ascii(String *buffer) StringBuffer<STRING_BUFFER_USUAL_SIZE> tmp; String *arg_str= args[0]->val_str(&tmp); - if (!arg_str) // Out-of memory happened. The error has been reported. - { // Or: the underlying field is NULL + if (unlikely(!arg_str)) + { + // Out-of memory happened. error has been reported. + // Or: the underlying field is NULL null_value= true; return NULL; } null_value= !calc_value(arg_str, buffer); - return null_value ? NULL : buffer; + return unlikely(null_value) ? NULL : buffer; } /////////////////////////////////////////////////////////////////////////// |