From: Michael Meskes Date: Mon, 1 Aug 2016 04:36:27 +0000 (+0200) Subject: Fixed array checking code for "unsigned long long" datatypes in libecpg. X-Git-Tag: REL9_2_18~20 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=295edbecf73eb479257077c4c70e36f55ee6d3ef;p=postgresql.git Fixed array checking code for "unsigned long long" datatypes in libecpg. --- diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c index 58b8df271e3..75391ae6d17 100644 --- a/src/interfaces/ecpg/ecpglib/data.c +++ b/src/interfaces/ecpg/ecpglib/data.c @@ -374,8 +374,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, #ifdef HAVE_STRTOULL case ECPGt_unsigned_long_long: *((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10); - if ((isarray && *scan_length != ',' && *scan_length != '}') - || (!isarray && !(INFORMIX_MODE(compat) && *scan_length == '.') && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */ + if (garbage_left(isarray, scan_length, compat)) { ecpg_raise(lineno, ECPG_UINT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); return (false);