summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/compatlib/informix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/compatlib/informix.c')
-rw-r--r--src/interfaces/ecpg/compatlib/informix.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/interfaces/ecpg/compatlib/informix.c b/src/interfaces/ecpg/compatlib/informix.c
index 9c4f41bde39..739b83a895c 100644
--- a/src/interfaces/ecpg/compatlib/informix.c
+++ b/src/interfaces/ecpg/compatlib/informix.c
@@ -161,11 +161,9 @@ deccvasc(char *cp, int len, decimal * np)
int ret = 0;
numeric *result;
+ rsetnull(CDECIMALTYPE, (char *) np);
if (risnull(CSTRINGTYPE, cp))
- {
- rsetnull(CDECIMALTYPE, (char *) np);
return 0;
- }
if (!str)
ret = -1201;
@@ -206,11 +204,9 @@ deccvdbl(double dbl, decimal * np)
numeric *nres = PGTYPESnumeric_new();
int result = 1;
+ rsetnull(CDECIMALTYPE, (char *) np);
if (risnull(CDOUBLETYPE, (char *) &dbl))
- {
- rsetnull(CDECIMALTYPE, (char *) np);
return 0;
- }
if (nres == NULL)
return -1211;
@@ -229,11 +225,9 @@ deccvint(int in, decimal * np)
numeric *nres = PGTYPESnumeric_new();
int result = 1;
+ rsetnull(CDECIMALTYPE, (char *) np);
if (risnull(CINTTYPE, (char *) &in))
- {
- rsetnull(CDECIMALTYPE, (char *) np);
return 0;
- }
if (nres == NULL)
return -1211;
@@ -252,11 +246,9 @@ deccvlong(long lng, decimal * np)
numeric *nres = PGTYPESnumeric_new();
int result = 1;
+ rsetnull(CDECIMALTYPE, (char *) np);
if (risnull(CLONGTYPE, (char *) &lng))
- {
- rsetnull(CDECIMALTYPE, (char *) np);
return 0;
- }
if (nres == NULL)
return -1211;
@@ -338,11 +330,9 @@ dectoasc(decimal * np, char *cp, int len, int right)
if (nres == NULL)
return -1211;
+ rsetnull(CSTRINGTYPE, (char *) cp);
if (risnull(CDECIMALTYPE, (char *) np))
- {
- rsetnull(CSTRINGTYPE, (char *) cp);
return 0;
- }
if (PGTYPESnumeric_from_decimal(np, nres) != 0)
return -1211;