postgres.git / summary / log / commit / refs

commit    c413015fd488ae3ce660efeea182faec244bab5d
Author:   Michael Meskes <meskes@postgresql.org>
Date:     Fri Oct 05 14:37:45 2012 +0000
First released in: 9.3.0, 9.0.11, 9.1.7, 9.2.2

    Fixed test for array boundary.
    
    Instead of continuing if the next character is not an array boundary get_data()
    used to continue only on finding a boundary so it was not able to read any
    element after the first.


src/interfaces/ecpg/ecpglib/data.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c index db975035df9..dcccd924ece 100644 --- a/src/interfaces/ecpg/ecpglib/data.c +++ b/src/interfaces/ecpg/ecpglib/data.c @@ -422,6 +422,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ecpg_raise(lineno, ECPG_CONVERT_BOOL, ECPG_SQLSTATE_DATATYPE_MISMATCH, NULL); + pval++; break; } else if (pval[0] == 't' && pval[1] == '\0') @@ -434,6 +435,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ecpg_raise(lineno, ECPG_CONVERT_BOOL, ECPG_SQLSTATE_DATATYPE_MISMATCH, NULL); + pval++; break; } else if (pval[0] == '\0' && PQgetisnull(results, act_tuple, act_field)) @@ -777,7 +779,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ++pval; } } - } while (*pval != '\0' && array_boundary(isarray, *pval)); + } while (*pval != '\0' && !array_boundary(isarray, *pval)); return (true); } [parent: cb4083dfbbda]