diff options
author | Michael Meskes <meskes@postgresql.org> | 2015-09-17 15:41:04 +0200 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2015-09-17 15:42:46 +0200 |
commit | 293fd7c77e40cdf06b7a9eb6db95379be8869b04 (patch) | |
tree | 0d03ccbc61319c8993b2667bf18852571d8e094b /src/interfaces/ecpg/ecpglib/execute.c | |
parent | 22f519c92a45eb017bf2e65f36506a75309f8094 (diff) | |
download | postgresql-293fd7c77e40cdf06b7a9eb6db95379be8869b04.tar.gz postgresql-293fd7c77e40cdf06b7a9eb6db95379be8869b04.zip |
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 9e40f4161a5..3b6eedb03b7 100644 --- a/src/interfaces/ecpg/ecpglib/execute.c +++ b/src/interfaces/ecpg/ecpglib/execute.c @@ -752,18 +752,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, "}"); } |