aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/lib/data.c
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2000-12-18 11:33:55 +0000
committerMichael Meskes <meskes@postgresql.org>2000-12-18 11:33:55 +0000
commit77145ac824651c8541bdee5475e38e4077a20cb7 (patch)
tree9e511b66be65a0fcff920f156b49c28d7d29ef35 /src/interfaces/ecpg/lib/data.c
parent97cfb9d606d34b0380cfe32cd7bf5590b046e8aa (diff)
downloadpostgresql-77145ac824651c8541bdee5475e38e4077a20cb7.tar.gz
postgresql-77145ac824651c8541bdee5475e38e4077a20cb7.zip
- Synced gram.y and preproc.y.
- Synced keyword.c. - Added several small patches from Christof.
Diffstat (limited to 'src/interfaces/ecpg/lib/data.c')
-rw-r--r--src/interfaces/ecpg/lib/data.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/lib/data.c b/src/interfaces/ecpg/lib/data.c
index 8230564e123..b6cc32b8563 100644
--- a/src/interfaces/ecpg/lib/data.c
+++ b/src/interfaces/ecpg/lib/data.c
@@ -236,12 +236,16 @@ get_data(PGresult *results, int act_tuple, int act_field, int lineno,
{
if (pval[0] == 'f' && pval[1] == '\0')
{
- ((char *) var)[act_tuple] = false;
+ if (offset==sizeof(char)) ((char *) var)[act_tuple] = false;
+ else if (offset==sizeof(int)) ((int *) var)[act_tuple] = false;
+ else ECPGraise(lineno, ECPG_CONVERT_BOOL, "different size");
break;
}
else if (pval[0] == 't' && pval[1] == '\0')
{
- ((char *) var)[act_tuple] = true;
+ if (offset==sizeof(char)) ((char *) var)[act_tuple] = true;
+ else if (offset==sizeof(int)) ((int *) var)[act_tuple] = true;
+ else ECPGraise(lineno, ECPG_CONVERT_BOOL, "different size");
break;
}
else if (pval[0] == '\0' && PQgetisnull(results, act_tuple, act_field))