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 $ */
2
2
3
3
#define POSTGRES_ECPG_INTERNAL
4
4
#include "postgres_fe.h"
@@ -124,7 +124,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
124
124
{
125
125
res = strtol (pval , & scan_length , 10 );
126
126
if ((isarray && * scan_length != ',' && * scan_length != '}' )
127
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
127
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
128
128
{
129
129
ECPGraise (lineno , ECPG_INT_FORMAT , pval );
130
130
return (false);
@@ -136,15 +136,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
136
136
switch (type )
137
137
{
138
138
case ECPGt_short :
139
- /* ((short *) var)[act_tuple] = (short) res;*/
140
139
* ((short * ) (var + offset * act_tuple )) = (short ) res ;
141
140
break ;
142
141
case ECPGt_int :
143
- /* ((int *) var)[act_tuple] = (int) res;*/
144
142
* ((int * ) (var + offset * act_tuple )) = (int ) res ;
145
143
break ;
146
144
case ECPGt_long :
147
- /* ((long *) var)[act_tuple] = res;*/
148
145
* ((long * ) (var + offset * act_tuple )) = (long ) res ;
149
146
break ;
150
147
default :
@@ -160,7 +157,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
160
157
{
161
158
ures = strtoul (pval , & scan_length , 10 );
162
159
if ((isarray && * scan_length != ',' && * scan_length != '}' )
163
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
160
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
164
161
{
165
162
ECPGraise (lineno , ECPG_UINT_FORMAT , pval );
166
163
return (false);
@@ -172,15 +169,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
172
169
switch (type )
173
170
{
174
171
case ECPGt_unsigned_short :
175
- /* ((unsigned short *) var)[act_tuple] = (unsigned short) ures;*/
176
172
* ((unsigned short * ) (var + offset * act_tuple )) = (unsigned short ) ures ;
177
173
break ;
178
174
case ECPGt_unsigned_int :
179
- /* ((unsigned int *) var)[act_tuple] = (unsigned int) ures;*/
180
175
* ((unsigned int * ) (var + offset * act_tuple )) = (unsigned int ) ures ;
181
176
break ;
182
177
case ECPGt_unsigned_long :
183
- /* ((unsigned long *) var)[act_tuple] = ures;*/
184
178
* ((unsigned long * ) (var + offset * act_tuple )) = (unsigned long ) ures ;
185
179
break ;
186
180
default :
@@ -194,17 +188,15 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
194
188
case ECPGt_long_long :
195
189
if (pval )
196
190
{
197
- /* ((long long int *) var)[act_tuple] = strtoll(pval, &scan_length, 10);*/
198
191
* ((long long int * ) (var + offset * act_tuple )) = strtoll (pval , & scan_length , 10 );
199
192
if ((isarray && * scan_length != ',' && * scan_length != '}' )
200
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
193
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
201
194
{
202
195
ECPGraise (lineno , ECPG_INT_FORMAT , pval );
203
196
return (false);
204
197
}
205
198
}
206
199
else
207
- /* ((long long int *) var)[act_tuple] = (long long) 0;*/
208
200
* ((long long int * ) (var + offset * act_tuple )) = (long long ) 0 ;
209
201
210
202
break ;
@@ -213,17 +205,15 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
213
205
case ECPGt_unsigned_long_long :
214
206
if (pval )
215
207
{
216
- /* ((unsigned long long int *) var)[act_tuple] = strtoull(pval, &scan_length, 10);*/
217
208
* ((unsigned long long int * ) (var + offset * act_tuple )) = strtoull (pval , & scan_length , 10 );
218
209
if ((isarray && * scan_length != ',' && * scan_length != '}' )
219
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
210
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
220
211
{
221
212
ECPGraise (lineno , ECPG_UINT_FORMAT , pval );
222
213
return (false);
223
214
}
224
215
}
225
216
else
226
- /* ((unsigned long long int *) var)[act_tuple] = (long long) 0;*/
227
217
* ((unsigned long long int * ) (var + offset * act_tuple )) = (long long ) 0 ;
228
218
229
219
break ;
@@ -243,7 +233,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
243
233
scan_length ++ ;
244
234
245
235
if ((isarray && * scan_length != ',' && * scan_length != '}' )
246
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
236
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
247
237
{
248
238
ECPGraise (lineno , ECPG_FLOAT_FORMAT , pval );
249
239
return (false);
@@ -255,11 +245,9 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
255
245
switch (type )
256
246
{
257
247
case ECPGt_float :
258
- /* ((float *) var)[act_tuple] = dres;*/
259
248
* ((float * ) (var + offset * act_tuple )) = dres ;
260
249
break ;
261
250
case ECPGt_double :
262
- /* ((double *) var)[act_tuple] = dres;*/
263
251
* ((double * ) (var + offset * act_tuple )) = dres ;
264
252
break ;
265
253
default :
@@ -274,10 +262,8 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
274
262
if (pval [0 ] == 'f' && pval [1 ] == '\0' )
275
263
{
276
264
if (offset == sizeof (char ))
277
- /* ((char *) var)[act_tuple] = false;*/
278
265
* ((char * ) (var + offset * act_tuple )) = false;
279
266
else if (offset == sizeof (int ))
280
- /* ((int *) var)[act_tuple] = false;*/
281
267
* ((int * ) (var + offset * act_tuple )) = false;
282
268
else
283
269
ECPGraise (lineno , ECPG_CONVERT_BOOL , "different size" );
@@ -286,10 +272,8 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
286
272
else if (pval [0 ] == 't' && pval [1 ] == '\0' )
287
273
{
288
274
if (offset == sizeof (char ))
289
- /* ((char *) var)[act_tuple] = true;*/
290
275
* ((char * ) (var + offset * act_tuple )) = true;
291
276
else if (offset == sizeof (int ))
292
- /* ((int *) var)[act_tuple] = true;*/
293
277
* ((int * ) (var + offset * act_tuple )) = true;
294
278
else
295
279
ECPGraise (lineno , ECPG_CONVERT_BOOL , "different size" );
@@ -324,17 +308,14 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
324
308
{
325
309
case ECPGt_short :
326
310
case ECPGt_unsigned_short :
327
- /* ((short *) ind)[act_tuple] = strlen(pval);*/
328
311
* ((short * ) (ind + ind_offset * act_tuple )) = strlen (pval );
329
312
break ;
330
313
case ECPGt_int :
331
314
case ECPGt_unsigned_int :
332
- /* ((int *) ind)[act_tuple] = strlen(pval);*/
333
315
* ((int * ) (ind + ind_offset * act_tuple )) = strlen (pval );
334
316
break ;
335
317
case ECPGt_long :
336
318
case ECPGt_unsigned_long :
337
- /* ((long *) ind)[act_tuple] = strlen(pval);*/
338
319
* ((long * ) (ind + ind_offset * act_tuple )) = strlen (pval );
339
320
break ;
340
321
#ifdef HAVE_LONG_LONG_INT_64
@@ -416,7 +397,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
416
397
scan_length ++ ;
417
398
418
399
if ((isarray && * scan_length != ',' && * scan_length != '}' )
419
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
400
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
420
401
{
421
402
ECPGraise (lineno , ECPG_NUMERIC_FORMAT , pval );
422
403
return (false);
@@ -443,7 +424,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
443
424
scan_length ++ ;
444
425
445
426
if ((isarray && * scan_length != ',' && * scan_length != '}' )
446
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
427
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
447
428
{
448
429
ECPGraise (lineno , ECPG_INTERVAL_FORMAT , pval );
449
430
return (false);
@@ -466,7 +447,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
466
447
scan_length ++ ;
467
448
468
449
if ((isarray && * scan_length != ',' && * scan_length != '}' )
469
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
450
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
470
451
{
471
452
ECPGraise (lineno , ECPG_DATE_FORMAT , pval );
472
453
return (false);
@@ -488,7 +469,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
488
469
scan_length ++ ;
489
470
490
471
if ((isarray && * scan_length != ',' && * scan_length != '}' )
491
- || (!isarray && * scan_length != '\0' )) /* Garbage left */
472
+ || (!isarray && * scan_length != '\0' && * scan_length != ' ' )) /* Garbage left */
492
473
{
493
474
ECPGraise (lineno , ECPG_TIMESTAMP_FORMAT , pval );
494
475
return (false);
0 commit comments