@@ -41,7 +41,7 @@ ECPG: stmtPrepareStmt block
4141if ($1.type == NULL || strlen($1.type) == 0)
4242output_prepare_statement($1.name, $1.stmt);
4343else
44- output_statement(cat_str(5,make_str ("prepare"), $1.name, $1.type,make_str ("as"), $1.stmt), 0, ECPGst_normal);
44+ output_statement(cat_str(5,mm_strdup ("prepare"), $1.name, $1.type,mm_strdup ("as"), $1.stmt), 0, ECPGst_normal);
4545}
4646ECPG: stmtTransactionStmt block
4747{
@@ -212,21 +212,21 @@ ECPG: var_valueNumericOnly addon
212212if ($1[0] == '$')
213213{
214214free($1);
215- $1 =make_str ("$0");
215+ $1 =mm_strdup ("$0");
216216}
217217ECPG: fetch_argscursor_name addon
218218add_additional_variables($1, false);
219219if ($1[0] == ':')
220220{
221221free($1);
222- $1 =make_str ("$0");
222+ $1 =mm_strdup ("$0");
223223}
224224ECPG: fetch_argsfrom_incursor_name addon
225225add_additional_variables($2, false);
226226if ($2[0] == ':')
227227{
228228free($2);
229- $2 =make_str ("$0");
229+ $2 =mm_strdup ("$0");
230230}
231231ECPG: fetch_argsNEXTopt_from_incursor_name addon
232232ECPG: fetch_argsPRIORopt_from_incursor_name addon
@@ -237,27 +237,27 @@ ECPG: fetch_argsALLopt_from_incursor_name addon
237237if ($3[0] == ':')
238238{
239239free($3);
240- $3 =make_str ("$0");
240+ $3 =mm_strdup ("$0");
241241}
242242ECPG: fetch_argsSignedIconstopt_from_incursor_name addon
243243add_additional_variables($3, false);
244244if ($3[0] == ':')
245245{
246246free($3);
247- $3 =make_str ("$0");
247+ $3 =mm_strdup ("$0");
248248}
249249if ($1[0] == '$')
250250{
251251free($1);
252- $1 =make_str ("$0");
252+ $1 =mm_strdup ("$0");
253253}
254254ECPG: fetch_argsFORWARDALLopt_from_incursor_name addon
255255ECPG: fetch_argsBACKWARDALLopt_from_incursor_name addon
256256add_additional_variables($4, false);
257257if ($4[0] == ':')
258258{
259259free($4);
260- $4 =make_str ("$0");
260+ $4 =mm_strdup ("$0");
261261}
262262ECPG: fetch_argsABSOLUTE_PSignedIconstopt_from_incursor_name addon
263263ECPG: fetch_argsRELATIVE_PSignedIconstopt_from_incursor_name addon
@@ -267,12 +267,12 @@ ECPG: fetch_argsBACKWARDSignedIconstopt_from_incursor_name addon
267267if ($4[0] == ':')
268268{
269269free($4);
270- $4 =make_str ("$0");
270+ $4 =mm_strdup ("$0");
271271}
272272if ($2[0] == '$')
273273{
274274free($2);
275- $2 =make_str ("$0");
275+ $2 =mm_strdup ("$0");
276276}
277277ECPG: cursor_namename rule
278278| char_civar
@@ -287,7 +287,7 @@ ECPG: PrepareStmtPREPAREprepared_nameprep_type_clauseASPreparableStmt block
287287{
288288$$.name = $2;
289289$$.type = $3;
290- $$.stmt = cat_str(3,make_str ("\""), $5,make_str ("\""));
290+ $$.stmt = cat_str(3,mm_strdup ("\""), $5,mm_strdup ("\""));
291291}
292292| PREPARE prepared_name FROM execstring
293293{
@@ -300,7 +300,7 @@ ECPG: ExecuteStmtEXECUTEprepared_nameexecute_param_clauseexecute_rest block
300300ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectStmt block
301301{
302302struct cursor *ptr, *this;
303- char *cursor_marker = $2[0] == ':' ?make_str ("$0") : mm_strdup($2);
303+ char *cursor_marker = $2[0] == ':' ?mm_strdup ("$0") : mm_strdup($2);
304304char *comment, *c1, *c2;
305305int (* strcmp_fn)(const char *, const char *) = ($2[0] == ':' ? strcmp : pg_strcasecmp);
306306
@@ -322,7 +322,7 @@ ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectSt
322322this->function = (current_function ? mm_strdup(current_function) : NULL);
323323this->connection = connection;
324324this->opened = false;
325- this->command = cat_str(7,make_str ("declare"), cursor_marker, $3,make_str ("cursor"), $5,make_str ("for"), $7);
325+ this->command = cat_str(7,mm_strdup ("declare"), cursor_marker, $3,mm_strdup ("cursor"), $5,mm_strdup ("for"), $7);
326326this->argsinsert = argsinsert;
327327this->argsinsert_oos = NULL;
328328this->argsresult = argsresult;
@@ -337,48 +337,48 @@ ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectSt
337337c2[0] = '.';
338338c2[1] = '.';
339339}
340- comment = cat_str(3,make_str ("/*"), c1,make_str ("*/"));
340+ comment = cat_str(3,mm_strdup ("/*"), c1,mm_strdup ("*/"));
341341
342342if ((braces_open > 0) && INFORMIX_MODE) /* we're in a function */
343343$$ = cat_str(3, adjust_outofscope_cursor_vars(this),
344- make_str ("ECPG_informix_reset_sqlca();"),
344+ mm_strdup ("ECPG_informix_reset_sqlca();"),
345345comment);
346346else
347347$$ = cat2_str(adjust_outofscope_cursor_vars(this), comment);
348348}
349349ECPG: ClosePortalStmtCLOSEcursor_name block
350350{
351- char *cursor_marker = $2[0] == ':' ?make_str ("$0") : $2;
352- $$ = cat2_str(make_str ("close"), cursor_marker);
351+ char *cursor_marker = $2[0] == ':' ?mm_strdup ("$0") : $2;
352+ $$ = cat2_str(mm_strdup ("close"), cursor_marker);
353353}
354354ECPG: opt_hold block
355355{
356356if (compat == ECPG_COMPAT_INFORMIX_SE && autocommit)
357- $$ =make_str ("with hold");
357+ $$ =mm_strdup ("with hold");
358358else
359359$$ = EMPTY;
360360}
361361ECPG: into_clauseINTOOptTempTableName block
362362{
363363FoundInto = 1;
364- $$= cat2_str(make_str ("into"), $2);
364+ $$= cat2_str(mm_strdup ("into"), $2);
365365}
366366| ecpg_into { $$ = EMPTY; }
367367ECPG: table_refselect_with_parens addon
368368mmerror(PARSE_ERROR, ET_ERROR, "subquery in FROM must have an alias");
369369ECPG: TypenameSimpleTypenameopt_array_bounds block
370370{$$ = cat2_str($1, $2.str); }
371371ECPG: TypenameSETOFSimpleTypenameopt_array_bounds block
372- {$$ = cat_str(3,make_str ("setof"), $2, $3.str); }
372+ {$$ = cat_str(3,mm_strdup ("setof"), $2, $3.str); }
373373ECPG: opt_array_boundsopt_array_bounds'['']' block
374374{
375375$$.index1 = $1.index1;
376376$$.index2 = $1.index2;
377377if (strcmp($$.index1, "-1") == 0)
378- $$.index1 =make_str ("0");
378+ $$.index1 =mm_strdup ("0");
379379else if (strcmp($1.index2, "-1") == 0)
380- $$.index2 =make_str ("0");
381- $$.str = cat_str(2, $1.str,make_str ("[]"));
380+ $$.index2 =mm_strdup ("0");
381+ $$.str = cat_str(2, $1.str,mm_strdup ("[]"));
382382}
383383| opt_array_bounds '[' Iresult ']'
384384{
@@ -388,12 +388,12 @@ ECPG: opt_array_boundsopt_array_bounds'['']' block
388388$$.index1 = strdup($3);
389389else if (strcmp($1.index2, "-1") == 0)
390390$$.index2 = strdup($3);
391- $$.str = cat_str(4, $1.str,make_str ("["), $3,make_str ("]"));
391+ $$.str = cat_str(4, $1.str,mm_strdup ("["), $3,mm_strdup ("]"));
392392}
393393ECPG: opt_array_bounds
394394{
395- $$.index1 =make_str ("-1");
396- $$.index2 =make_str ("-1");
395+ $$.index1 =mm_strdup ("-1");
396+ $$.index2 =mm_strdup ("-1");
397397$$.str= EMPTY;
398398}
399399ECPG: IconstICONST block
@@ -404,8 +404,8 @@ ECPG: AexprConstNULL_P rule
404404ECPG: ColIdcol_name_keyword rule
405405| ECPGKeywords { $$ = $1; }
406406| ECPGCKeywords { $$ = $1; }
407- | CHAR_P { $$ =make_str ("char"); }
408- | VALUES { $$ =make_str ("values"); }
407+ | CHAR_P { $$ =mm_strdup ("char"); }
408+ | VALUES { $$ =mm_strdup ("values"); }
409409ECPG: type_function_nametype_func_name_keyword rule
410410| ECPGKeywords { $$ = $1; }
411411| ECPGTypeName { $$ = $1; }
@@ -418,60 +418,60 @@ ECPG: VariableShowStmtSHOWALL block
418418ECPG: FetchStmtMOVEfetch_args rule
419419| FETCH fetch_args ecpg_fetch_into
420420{
421- $$ = cat2_str(make_str ("fetch"), $2);
421+ $$ = cat2_str(mm_strdup ("fetch"), $2);
422422}
423423| FETCH FORWARD cursor_name opt_ecpg_fetch_into
424424{
425- char *cursor_marker = $3[0] == ':' ?make_str ("$0") : $3;
425+ char *cursor_marker = $3[0] == ':' ?mm_strdup ("$0") : $3;
426426add_additional_variables($3, false);
427- $$ = cat_str(2,make_str ("fetch forward"), cursor_marker);
427+ $$ = cat_str(2,mm_strdup ("fetch forward"), cursor_marker);
428428}
429429| FETCH FORWARD from_in cursor_name opt_ecpg_fetch_into
430430{
431- char *cursor_marker = $4[0] == ':' ?make_str ("$0") : $4;
431+ char *cursor_marker = $4[0] == ':' ?mm_strdup ("$0") : $4;
432432add_additional_variables($4, false);
433- $$ = cat_str(2,make_str ("fetch forward from"), cursor_marker);
433+ $$ = cat_str(2,mm_strdup ("fetch forward from"), cursor_marker);
434434}
435435| FETCH BACKWARD cursor_name opt_ecpg_fetch_into
436436{
437- char *cursor_marker = $3[0] == ':' ?make_str ("$0") : $3;
437+ char *cursor_marker = $3[0] == ':' ?mm_strdup ("$0") : $3;
438438add_additional_variables($3, false);
439- $$ = cat_str(2,make_str ("fetch backward"), cursor_marker);
439+ $$ = cat_str(2,mm_strdup ("fetch backward"), cursor_marker);
440440}
441441| FETCH BACKWARD from_in cursor_name opt_ecpg_fetch_into
442442{
443- char *cursor_marker = $4[0] == ':' ?make_str ("$0") : $4;
443+ char *cursor_marker = $4[0] == ':' ?mm_strdup ("$0") : $4;
444444add_additional_variables($4, false);
445- $$ = cat_str(2,make_str ("fetch backward from"), cursor_marker);
445+ $$ = cat_str(2,mm_strdup ("fetch backward from"), cursor_marker);
446446}
447447| MOVE FORWARD cursor_name
448448{
449- char *cursor_marker = $3[0] == ':' ?make_str ("$0") : $3;
449+ char *cursor_marker = $3[0] == ':' ?mm_strdup ("$0") : $3;
450450add_additional_variables($3, false);
451- $$ = cat_str(2,make_str ("move forward"), cursor_marker);
451+ $$ = cat_str(2,mm_strdup ("move forward"), cursor_marker);
452452}
453453| MOVE FORWARD from_in cursor_name
454454{
455- char *cursor_marker = $4[0] == ':' ?make_str ("$0") : $4;
455+ char *cursor_marker = $4[0] == ':' ?mm_strdup ("$0") : $4;
456456add_additional_variables($4, false);
457- $$ = cat_str(2,make_str ("move forward from"), cursor_marker);
457+ $$ = cat_str(2,mm_strdup ("move forward from"), cursor_marker);
458458}
459459| MOVE BACKWARD cursor_name
460460{
461- char *cursor_marker = $3[0] == ':' ?make_str ("$0") : $3;
461+ char *cursor_marker = $3[0] == ':' ?mm_strdup ("$0") : $3;
462462add_additional_variables($3, false);
463- $$ = cat_str(2,make_str ("move backward"), cursor_marker);
463+ $$ = cat_str(2,mm_strdup ("move backward"), cursor_marker);
464464}
465465| MOVE BACKWARD from_in cursor_name
466466{
467- char *cursor_marker = $4[0] == ':' ?make_str ("$0") : $4;
467+ char *cursor_marker = $4[0] == ':' ?mm_strdup ("$0") : $4;
468468add_additional_variables($4, false);
469- $$ = cat_str(2,make_str ("move backward from"), cursor_marker);
469+ $$ = cat_str(2,mm_strdup ("move backward from"), cursor_marker);
470470}
471471ECPG: limit_clauseLIMITselect_limit_value','select_offset_value block
472472 {
473473 mmerror(PARSE_ERROR, ET_WARNING, "no longer supported LIMIT #,# syntax passed to server");
474- $$ = cat_str(4,make_str ("limit"), $2,make_str (","), $4);
474+ $$ = cat_str(4,mm_strdup ("limit"), $2,mm_strdup (","), $4);
475475 }
476476ECPG: SignedIconstIconst rule
477477| civar{ $$ = $1; }