summaryrefslogtreecommitdiff
path: root/src/value.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.cc')
-rw-r--r--src/value.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/value.cc b/src/value.cc
index 33461c5a..74dd843d 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -343,7 +343,7 @@ value_t& value_t::operator+=(const value_t& val)
throw_(value_error, _("Cannot add sequences of different lengths"));
}
} else {
- as_sequence_lval().push_back(val);
+ as_sequence_lval().push_back(new value_t(val));
}
return *this;
}
@@ -1110,7 +1110,7 @@ void value_t::in_place_cast(type_t cast_type)
else if (cast_type == SEQUENCE) {
sequence_t temp;
if (! is_null())
- temp.push_back(*this);
+ temp.push_back(new value_t(*this));
set_sequence(temp);
return;
}
@@ -1693,7 +1693,7 @@ value_t value_t::strip_annotations(const keep_details_t& what_to_keep) const
case SEQUENCE: {
sequence_t temp;
foreach (const value_t& value, as_sequence())
- temp.push_back(value.strip_annotations(what_to_keep));
+ temp.push_back(new value_t(value.strip_annotations(what_to_keep)));
return temp;
}