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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy