aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/neighbor/plugins/SmbclientNeighborPlugin.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/neighbor/plugins/SmbclientNeighborPlugin.cxx b/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
index f7085c03d..ea3a6c2fd 100644
--- a/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
+++ b/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
@@ -215,7 +215,14 @@ SmbclientNeighborExplorer::Run()
prev = i;
} else {
/* can't see it anymore: move to "lost" */
+#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
lost.splice_after(lost.before_begin(), list, prev);
+#else
+ /* the forward_list::splice_after() lvalue
+ reference overload is missing in gcc 4.6 */
+ lost.emplace_front(std::move(*i));
+ list.erase_after(prev);
+#endif
}
}