From 5a66f00697672f8dcbba2c75957766520c35b8b6 Mon Sep 17 00:00:00 2001 From: Daniel Buckmaster Date: Thu, 1 Jan 2015 10:33:35 +1100 Subject: [PATCH] Use a buffer on the stack. --- Engine/source/console/CMDgram.y | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Engine/source/console/CMDgram.y b/Engine/source/console/CMDgram.y index af0122e9b..5ebd9492b 100644 --- a/Engine/source/console/CMDgram.y +++ b/Engine/source/console/CMDgram.y @@ -458,16 +458,18 @@ expr { $$ = (ExprNode*)VarNode::alloc( $1.lineNumber, $1.value, $3 ); } | rwDEFINE '(' var_list_decl ')' '{' statement_list '}' { - String fnname = String("__anonymous_function_" + String::ToString(gAnonFunctionID++)); - StringTableEntry afnName = StringTable->insert(fnname.c_str()); - StmtNode *fndef = FunctionDeclStmtNode::alloc($1.lineNumber, afnName, NULL, $3, $6); + const U32 bufLen = 64; + UTF8 buffer[bufLen]; + dSprintf(buffer, bufLen, "__anonymous_function%d", gAnonFunctionID++); + StringTableEntry fName = StringTable->insert(buffer); + StmtNode *fndef = FunctionDeclStmtNode::alloc($1.lineNumber, fName, NULL, $3, $6); if(!gAnonFunctionList) gAnonFunctionList = fndef; else gAnonFunctionList->append(fndef); - $$ = StrConstNode::alloc( $1.lineNumber, (UTF8*)fnname.utf8(), false ); + $$ = StrConstNode::alloc( $1.lineNumber, (UTF8*)fName, false ); } ;