[pure-lang-svn] SF.net SVN: pure-lang: [299] pure/trunk/interpreter.cc
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-06-24 14:49:12
|
Revision: 299 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=299&view=rev Author: agraef Date: 2008-06-24 07:49:19 -0700 (Tue, 24 Jun 2008) Log Message: ----------- Bugfix: source_s must be saved during a recursive parse. Modified Paths: -------------- pure/trunk/interpreter.cc Modified: pure/trunk/interpreter.cc =================================================================== --- pure/trunk/interpreter.cc 2008-06-24 14:36:02 UTC (rev 298) +++ pure/trunk/interpreter.cc 2008-06-24 14:49:19 UTC (rev 299) @@ -398,6 +398,7 @@ string l_source = source; int l_nerrs = nerrs; uint8_t l_temp = temp; + const char *l_source_s = source_s; // save global data uint8_t s_verbose = g_verbose; bool s_interactive = g_interactive; @@ -408,6 +409,7 @@ // initialize nerrs = 0; source = s; declare_op = false; + source_s = 0; errmsg.clear(); if (check && !interactive) temp = 0; bool ok = lex_begin(); @@ -432,6 +434,7 @@ source = l_source; nerrs = l_nerrs; temp = l_temp; + source_s = l_source_s; // return last computed result, if any return result; } @@ -449,6 +452,7 @@ bool l_interactive = interactive; string l_source = source; int l_nerrs = nerrs; + const char *l_source_s = source_s; // save global data uint8_t s_verbose = g_verbose; bool s_interactive = g_interactive; @@ -479,6 +483,7 @@ source = l_source; source_s = 0; nerrs = l_nerrs; + source_s = l_source_s; // return last computed result, if any return result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |