Skip to content

Commit c15b66e

Browse files
author
Michael Meskes
committed
Allow blanks at the end of numerical values.
1 parent 7d32551 commit c15b66e

File tree

1 file changed

+10
-29
lines changed
  • src/interfaces/ecpg/ecpglib

1 file changed

+10
-29
lines changed

src/interfaces/ecpg/ecpglib/data.c

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.11 2003/07/08 12:11:28 meskes Exp $ */
1+
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.12 2003/07/17 11:27:55 meskes Exp $ */
22

33
#define POSTGRES_ECPG_INTERNAL
44
#include "postgres_fe.h"
@@ -124,7 +124,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
124124
{
125125
res = strtol(pval, &scan_length, 10);
126126
if ((isarray && *scan_length != ',' && *scan_length != '}')
127-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
127+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
128128
{
129129
ECPGraise(lineno, ECPG_INT_FORMAT, pval);
130130
return (false);
@@ -136,15 +136,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
136136
switch (type)
137137
{
138138
case ECPGt_short:
139-
/* ((short *) var)[act_tuple] = (short) res;*/
140139
*((short *) (var + offset * act_tuple)) = (short) res;
141140
break;
142141
case ECPGt_int:
143-
/* ((int *) var)[act_tuple] = (int) res;*/
144142
*((int *) (var + offset * act_tuple)) = (int) res;
145143
break;
146144
case ECPGt_long:
147-
/* ((long *) var)[act_tuple] = res;*/
148145
*((long *) (var + offset * act_tuple)) = (long) res;
149146
break;
150147
default:
@@ -160,7 +157,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
160157
{
161158
ures = strtoul(pval, &scan_length, 10);
162159
if ((isarray && *scan_length != ',' && *scan_length != '}')
163-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
160+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
164161
{
165162
ECPGraise(lineno, ECPG_UINT_FORMAT, pval);
166163
return (false);
@@ -172,15 +169,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
172169
switch (type)
173170
{
174171
case ECPGt_unsigned_short:
175-
/* ((unsigned short *) var)[act_tuple] = (unsigned short) ures;*/
176172
*((unsigned short *) (var + offset * act_tuple)) = (unsigned short) ures;
177173
break;
178174
case ECPGt_unsigned_int:
179-
/* ((unsigned int *) var)[act_tuple] = (unsigned int) ures;*/
180175
*((unsigned int *) (var + offset * act_tuple)) = (unsigned int) ures;
181176
break;
182177
case ECPGt_unsigned_long:
183-
/* ((unsigned long *) var)[act_tuple] = ures;*/
184178
*((unsigned long *) (var + offset * act_tuple)) = (unsigned long) ures;
185179
break;
186180
default:
@@ -194,17 +188,15 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
194188
case ECPGt_long_long:
195189
if (pval)
196190
{
197-
/* ((long long int *) var)[act_tuple] = strtoll(pval, &scan_length, 10);*/
198191
*((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10);
199192
if ((isarray && *scan_length != ',' && *scan_length != '}')
200-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
193+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
201194
{
202195
ECPGraise(lineno, ECPG_INT_FORMAT, pval);
203196
return (false);
204197
}
205198
}
206199
else
207-
/* ((long long int *) var)[act_tuple] = (long long) 0;*/
208200
*((long long int *) (var + offset * act_tuple)) = (long long) 0;
209201

210202
break;
@@ -213,17 +205,15 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
213205
case ECPGt_unsigned_long_long:
214206
if (pval)
215207
{
216-
/* ((unsigned long long int *) var)[act_tuple] = strtoull(pval, &scan_length, 10);*/
217208
*((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10);
218209
if ((isarray && *scan_length != ',' && *scan_length != '}')
219-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
210+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
220211
{
221212
ECPGraise(lineno, ECPG_UINT_FORMAT, pval);
222213
return (false);
223214
}
224215
}
225216
else
226-
/* ((unsigned long long int *) var)[act_tuple] = (long long) 0;*/
227217
*((unsigned long long int *) (var + offset * act_tuple)) = (long long) 0;
228218

229219
break;
@@ -243,7 +233,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
243233
scan_length++;
244234

245235
if ((isarray && *scan_length != ',' && *scan_length != '}')
246-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
236+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
247237
{
248238
ECPGraise(lineno, ECPG_FLOAT_FORMAT, pval);
249239
return (false);
@@ -255,11 +245,9 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
255245
switch (type)
256246
{
257247
case ECPGt_float:
258-
/* ((float *) var)[act_tuple] = dres;*/
259248
*((float *) (var + offset * act_tuple)) = dres;
260249
break;
261250
case ECPGt_double:
262-
/* ((double *) var)[act_tuple] = dres;*/
263251
*((double *) (var + offset * act_tuple)) = dres;
264252
break;
265253
default:
@@ -274,10 +262,8 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
274262
if (pval[0] == 'f' && pval[1] == '\0')
275263
{
276264
if (offset == sizeof(char))
277-
/* ((char *) var)[act_tuple] = false;*/
278265
*((char *) (var + offset * act_tuple)) = false;
279266
else if (offset == sizeof(int))
280-
/* ((int *) var)[act_tuple] = false;*/
281267
*((int *) (var + offset * act_tuple)) = false;
282268
else
283269
ECPGraise(lineno, ECPG_CONVERT_BOOL, "different size");
@@ -286,10 +272,8 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
286272
else if (pval[0] == 't' && pval[1] == '\0')
287273
{
288274
if (offset == sizeof(char))
289-
/* ((char *) var)[act_tuple] = true;*/
290275
*((char *) (var + offset * act_tuple)) = true;
291276
else if (offset == sizeof(int))
292-
/* ((int *) var)[act_tuple] = true;*/
293277
*((int *) (var + offset * act_tuple)) = true;
294278
else
295279
ECPGraise(lineno, ECPG_CONVERT_BOOL, "different size");
@@ -324,17 +308,14 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
324308
{
325309
case ECPGt_short:
326310
case ECPGt_unsigned_short:
327-
/* ((short *) ind)[act_tuple] = strlen(pval);*/
328311
*((short *) (ind + ind_offset * act_tuple)) = strlen(pval);
329312
break;
330313
case ECPGt_int:
331314
case ECPGt_unsigned_int:
332-
/* ((int *) ind)[act_tuple] = strlen(pval);*/
333315
*((int *) (ind + ind_offset * act_tuple)) = strlen(pval);
334316
break;
335317
case ECPGt_long:
336318
case ECPGt_unsigned_long:
337-
/* ((long *) ind)[act_tuple] = strlen(pval);*/
338319
*((long *) (ind + ind_offset * act_tuple)) = strlen(pval);
339320
break;
340321
#ifdef HAVE_LONG_LONG_INT_64
@@ -416,7 +397,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
416397
scan_length++;
417398

418399
if ((isarray && *scan_length != ',' && *scan_length != '}')
419-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
400+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
420401
{
421402
ECPGraise(lineno, ECPG_NUMERIC_FORMAT, pval);
422403
return (false);
@@ -443,7 +424,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
443424
scan_length++;
444425

445426
if ((isarray && *scan_length != ',' && *scan_length != '}')
446-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
427+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
447428
{
448429
ECPGraise(lineno, ECPG_INTERVAL_FORMAT, pval);
449430
return (false);
@@ -466,7 +447,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
466447
scan_length++;
467448

468449
if ((isarray && *scan_length != ',' && *scan_length != '}')
469-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
450+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
470451
{
471452
ECPGraise(lineno, ECPG_DATE_FORMAT, pval);
472453
return (false);
@@ -488,7 +469,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
488469
scan_length++;
489470

490471
if ((isarray && *scan_length != ',' && *scan_length != '}')
491-
|| (!isarray && *scan_length != '\0')) /* Garbage left */
472+
|| (!isarray && *scan_length != '\0' && *scan_length != ' ')) /* Garbage left */
492473
{
493474
ECPGraise(lineno, ECPG_TIMESTAMP_FORMAT, pval);
494475
return (false);

0 commit comments

Comments
 (0)