Skip to content

Commit 6e41fa2

Browse files
author
Michael Meskes
committed
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.
1 parent fd5942c commit 6e41fa2

File tree

1 file changed

+3
-1
lines changed
  • src/interfaces/ecpg/ecpglib

1 file changed

+3
-1
lines changed

src/interfaces/ecpg/ecpglib/data.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
422422
ecpg_raise(lineno, ECPG_CONVERT_BOOL,
423423
ECPG_SQLSTATE_DATATYPE_MISMATCH,
424424
NULL);
425+
pval++;
425426
break;
426427
}
427428
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,
434435
ecpg_raise(lineno, ECPG_CONVERT_BOOL,
435436
ECPG_SQLSTATE_DATATYPE_MISMATCH,
436437
NULL);
438+
pval++;
437439
break;
438440
}
439441
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,
777779
++pval;
778780
}
779781
}
780-
} while (*pval != '\0' && array_boundary(isarray, *pval));
782+
} while (*pval != '\0' && !array_boundary(isarray, *pval));
781783

782784
return (true);
783785
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy