|
|
|
|
@ -423,27 +423,13 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, |
|
|
|
|
case ECPGt_bool: |
|
|
|
|
if (pval[0] == 'f' && pval[1] == '\0') |
|
|
|
|
{ |
|
|
|
|
if (offset == sizeof(char)) |
|
|
|
|
*((char *) (var + offset * act_tuple)) = false; |
|
|
|
|
else if (offset == sizeof(int)) |
|
|
|
|
*((int *) (var + offset * act_tuple)) = false; |
|
|
|
|
else |
|
|
|
|
ecpg_raise(lineno, ECPG_CONVERT_BOOL, |
|
|
|
|
ECPG_SQLSTATE_DATATYPE_MISMATCH, |
|
|
|
|
NULL); |
|
|
|
|
*((bool *) (var + offset * act_tuple)) = false; |
|
|
|
|
pval++; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
else if (pval[0] == 't' && pval[1] == '\0') |
|
|
|
|
{ |
|
|
|
|
if (offset == sizeof(char)) |
|
|
|
|
*((char *) (var + offset * act_tuple)) = true; |
|
|
|
|
else if (offset == sizeof(int)) |
|
|
|
|
*((int *) (var + offset * act_tuple)) = true; |
|
|
|
|
else |
|
|
|
|
ecpg_raise(lineno, ECPG_CONVERT_BOOL, |
|
|
|
|
ECPG_SQLSTATE_DATATYPE_MISMATCH, |
|
|
|
|
NULL); |
|
|
|
|
*((bool *) (var + offset * act_tuple)) = true; |
|
|
|
|
pval++; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|