Mercurial > octave
diff src/oct-map.cc @ 5881:70b3f8f1a793
[project @ 2006-07-08 03:54:17 by jwe]
author | jwe |
---|---|
date | Sat, 08 Jul 2006 03:56:46 +0000 |
parents | 84ca47e311b3 |
children | c20eb7330d13 |
line wrap: on
line diff
--- a/src/oct-map.cc Thu Jul 06 22:36:00 2006 +0000 +++ b/src/oct-map.cc Sat Jul 08 03:56:46 2006 +0000 @@ -98,6 +98,8 @@ abort (); } + assert (length () == key_list.size ()); + return string_vector (key_list); } @@ -183,9 +185,9 @@ if (length() == rb.length()) { - for (Octave_map::const_iterator pa = begin (); pa != end (); pa++) + for (const_iterator pa = begin (); pa != end (); pa++) { - Octave_map::const_iterator pb = rb.seek (key(pa)); + const_iterator pb = rb.seek (key(pa)); if (pb == rb.end ()) { @@ -240,7 +242,7 @@ { std::string k = t_keys[i]; - map[k] = contents (k).assign (idx, Cell()); + map[k] = contents(k).assign (idx, Cell()); if (error_state) break; @@ -314,7 +316,10 @@ Octave_map::assign (const octave_value_list& idx, const std::string& k, const Cell& rhs) { - Cell tmp = map[k]; + Cell tmp; + + if (contains (k)) + tmp = map[k]; octave_value fill_value = Matrix ();