[pure-lang-svn] SF.net SVN: pure-lang:[450] pure/trunk/interpreter.hh
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-08-05 05:30:30
|
Revision: 450 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=450&view=rev Author: agraef Date: 2008-08-05 05:30:38 +0000 (Tue, 05 Aug 2008) Log Message: ----------- Fix up FMap assignment operation. Modified Paths: -------------- pure/trunk/interpreter.hh Modified: pure/trunk/interpreter.hh =================================================================== --- pure/trunk/interpreter.hh 2008-08-05 04:58:46 UTC (rev 449) +++ pure/trunk/interpreter.hh 2008-08-05 05:30:38 UTC (rev 450) @@ -95,13 +95,15 @@ size_t idx; // constructor (create one empty map by default) FMap() : m(1), idx(0) { m[0] = new EnvMap; } - // assignment - FMap& operator= (const FMap& f) - { m = f.m; idx = f.idx; return *this; } // clear local environments void clear() { for (size_t i = 0, n = m.size(); i < n; i++) delete m[i]; m.clear(); idx = 0; } + // assignment + FMap& operator= (const FMap& f) + { clear(); m.resize(f.m.size()); + for (size_t i = 0, n = f.m.size(); i < n; i++) m[i] = new EnvMap(*f.m[i]); + m = f.m; idx = f.idx; return *this; } // set index to first, next and given map void first() { idx = 0; } void next() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |