Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc15b66e

Browse files
author
Michael Meskes
committed
Allow blanks at the end of numerical values.
1 parent7d32551 commitc15b66e

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/1711:27:55 meskes Exp $ */
22

33
#definePOSTGRES_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
caseECPGt_short:
139-
/*((short *) var)[act_tuple] = (short) res;*/
140139
*((short*) (var+offset*act_tuple))= (short)res;
141140
break;
142141
caseECPGt_int:
143-
/*((int *) var)[act_tuple] = (int) res;*/
144142
*((int*) (var+offset*act_tuple))= (int)res;
145143
break;
146144
caseECPGt_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
caseECPGt_unsigned_short:
175-
/*((unsigned short *) var)[act_tuple] = (unsigned short) ures;*/
176172
*((unsigned short*) (var+offset*act_tuple))= (unsigned short)ures;
177173
break;
178174
caseECPGt_unsigned_int:
179-
/*((unsigned int *) var)[act_tuple] = (unsigned int) ures;*/
180175
*((unsignedint*) (var+offset*act_tuple))= (unsignedint)ures;
181176
break;
182177
caseECPGt_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
caseECPGt_long_long:
195189
if (pval)
196190
{
197-
/*((long long int *) var)[act_tuple] = strtoll(pval, &scan_length, 10);*/
198191
*((long longint*) (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 longint*) (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
caseECPGt_unsigned_long_long:
214206
if (pval)
215207
{
216-
/*((unsigned long long int *) var)[act_tuple] = strtoull(pval, &scan_length, 10);*/
217208
*((unsigned long longint*) (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 longint*) (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
caseECPGt_float:
258-
/*((float *) var)[act_tuple] = dres;*/
259248
*((float*) (var+offset*act_tuple))=dres;
260249
break;
261250
caseECPGt_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
elseif (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
elseif (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
elseif (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
caseECPGt_short:
326310
caseECPGt_unsigned_short:
327-
/*((short *) ind)[act_tuple] = strlen(pval);*/
328311
*((short*) (ind+ind_offset*act_tuple))=strlen(pval);
329312
break;
330313
caseECPGt_int:
331314
caseECPGt_unsigned_int:
332-
/*((int *) ind)[act_tuple] = strlen(pval);*/
333315
*((int*) (ind+ind_offset*act_tuple))=strlen(pval);
334316
break;
335317
caseECPGt_long:
336318
caseECPGt_unsigned_long:
337-
/*((long *) ind)[act_tuple] = strlen(pval);*/
338319
*((long*) (ind+ind_offset*act_tuple))=strlen(pval);
339320
break;
340321
#ifdefHAVE_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)

[8]ページ先頭

©2009-2025 Movatter.jp