_outValue(String *str, Value *value)
{
char buf[16];
+ char *p;
switch (value->type)
{
case T_String:
string_append_char(str, "'");
- string_append_char(str, escape_string(value->val.str));
+ p = escape_string(value->val.str);
+ string_append_char(str, p);
+ pfree(p);
string_append_char(str, "'");
break;
_outAConst(String *str, A_Const *node)
{
char buf[16];
+ char *p;
switch (node->val.type)
{
case T_String:
string_append_char(str, "'");
- string_append_char(str, escape_string(node->val.val.str));
+ p = escape_string(node->val.val.str);
+ string_append_char(str, p);
+ pfree(p);
string_append_char(str, "'");
break;
_outDropStmt(String *str, DropStmt *node)
{
List *objname;
+ char *p;
string_append_char(str, "DROP ");
switch (node->removeType)
string_append_char(str, strVal(llast(objname)));
string_append_char(str, " USING ");
string_append_char(str, "'");
- string_append_char(str, escape_string(NameListToString(list_truncate(list_copy(objname), list_length(objname) - 1))));
+ p = escape_string(NameListToString(list_truncate(list_copy(objname), list_length(objname) - 1)));
+ string_append_char(str, p);
+ pfree(p);
string_append_char(str, "'");
break;