diff options
author | Michael Meskes <meskes@postgresql.org> | 2015-09-17 15:41:04 +0200 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2015-09-19 11:13:44 +0200 |
commit | afca291cc258597098fd01c899a4da49d3896562 (patch) | |
tree | fac251c99230bb067cce3bcb01429bec1ae2a3f7 /src/interfaces/ecpg/ecpglib/execute.c | |
parent | dc4e8c10169e094f4241efa586459a812bdfd393 (diff) |
Let compiler handle size calculation of bool types.
Back in the day this did not work, but modern compilers should handle it themselves.
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/execute.c')
-rw-r--r-- | src/interfaces/ecpg/ecpglib/execute.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c index 730184742ba..10a5d075df2 100644 --- a/src/interfaces/ecpg/ecpglib/execute.c +++ b/src/interfaces/ecpg/ecpglib/execute.c @@ -756,18 +756,9 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari { strcpy(mallocedval, "{"); - if (var->offset == sizeof(char)) - for (element = 0; element < asize; element++) - sprintf(mallocedval + strlen(mallocedval), "%c,", (((char *) var->value)[element]) ? 't' : 'f'); + for (element = 0; element < asize; element++) + sprintf(mallocedval + strlen(mallocedval), "%c,", (((bool *) var->value)[element]) ? 't' : 'f'); - /* - * this is necessary since sizeof(C++'s bool)==sizeof(int) - */ - else if (var->offset == sizeof(int)) - for (element = 0; element < asize; element++) - sprintf(mallocedval + strlen(mallocedval), "%c,", (((int *) var->value)[element]) ? 't' : 'f'); - else - ecpg_raise(lineno, ECPG_CONVERT_BOOL, ECPG_SQLSTATE_DATATYPE_MISMATCH, NULL); strcpy(mallocedval + strlen(mallocedval) - 1, "}"); } |