Skip to content

Commit e0229d5

Browse files
committed
rollback strings
1 parent f7fd0e0 commit e0229d5

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

inst/include/cpp11/strings.hpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,13 @@ typedef r_vector<r_string> strings;
137137
// 2nd, 3rd, ..., Nth name: reserve exactly one more, then emplace
138138
template <typename T>
139139
inline void r_vector<T>::push_back(const named_arg& value) {
140+
push_back(value.value());
141+
if (Rf_xlength(names()) == 0) {
142+
cpp11::writable::strings new_nms(size());
143+
names() = new_nms;
144+
}
140145
cpp11::writable::strings nms(names());
141-
142-
nms.reserve(nms.size() + 1);
143-
nms.push_back(value.name());
144-
145-
names() = nms;
146+
nms[size() - 1] = value.name();
146147
}
147148
} // namespace writable
148149

0 commit comments

Comments
 (0)