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

Commit18936ef

Browse files
author
Michael Meskes
committed
Argh! Missed one file.
1 parentabfa8ae commit18936ef

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

‎src/interfaces/ecpg/preproc/preproc.y

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.245 2003/07/08 12:11:32 meskes Exp $*/
1+
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.246 2003/07/09 14:53:18 meskes Exp $*/
22

33
/* Copyright comment*/
44
%{
@@ -202,7 +202,7 @@ adjust_informix(struct arguments *list)
202202

203203
for (ptr = list; ptr !=NULL; ptr = ptr->next)
204204
{
205-
char temp[sizeof(int)+sizeof(", &()")];
205+
char temp[20];/* this should be sufficient unless you have 8 byte integers*/
206206
char *original_var;
207207

208208
/* change variable name to "ECPG_informix_get_var(<counter>)"*/
@@ -221,6 +221,27 @@ adjust_informix(struct arguments *list)
221221
sprintf(temp,"%d, &(", ecpg_informix_var++);
222222
}
223223
result =cat_str(5, result,make_str("ECPG_informix_set_var("),mm_strdup(temp),mm_strdup(original_var),make_str("), __LINE__);\n"));
224+
225+
/* now the indicator if there is one*/
226+
if (ptr->indicator->type->type != ECPGt_NO_INDICATOR)
227+
{
228+
/* change variable name to "ECPG_informix_get_var(<counter>)"*/
229+
original_var = ptr->indicator->name;
230+
sprintf(temp,"%d))", ecpg_informix_var);
231+
232+
/* create call to "ECPG_informix_set_var(<counter>, <pointer>. <linen number>)"*/
233+
if (atoi(ptr->indicator->type->size) >1)
234+
{
235+
ptr->indicator =new_variable(cat_str(4,make_str("("),mm_strdup(ECPGtype_name(ptr->indicator->type->type)),make_str(" *)(ECPG_informix_get_var("),mm_strdup(temp)),ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size),0);
236+
sprintf(temp,"%d, (", ecpg_informix_var++);
237+
}
238+
else
239+
{
240+
ptr->indicator =new_variable(cat_str(4,make_str("*("),mm_strdup(ECPGtype_name(ptr->indicator->type->type)),make_str(" *)(ECPG_informix_get_var("),mm_strdup(temp)),ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size),0);
241+
sprintf(temp,"%d, &(", ecpg_informix_var++);
242+
}
243+
result =cat_str(5, result,make_str("ECPG_informix_set_var("),mm_strdup(temp),mm_strdup(original_var),make_str("), __LINE__);\n"));
244+
}
224245
}
225246

226247
return result;
@@ -6097,7 +6118,7 @@ c_args: /*EMPTY*/{ $$ = EMPTY; }
60976118
coutputvariable:CVARIABLEindicator
60986119
{ add_variable(&argsresult, find_variable($1), find_variable($2)); }
60996120
|CVARIABLE
6100-
{ add_variable(&argsresult, find_variable($1), &no_indicator); }
6121+
{ add_variable(&argsresult, find_variable($1), &no_indicator); }
61016122
;
61026123

61036124

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp