diff --git a/osmpbf/pbistream.cpp b/osmpbf/pbistream.cpp index 0566a6d..65edb1b 100644 --- a/osmpbf/pbistream.cpp +++ b/osmpbf/pbistream.cpp @@ -210,10 +210,14 @@ m_priv(std::make_unique(std::move(fileIn))) {} PbiStream::PbiStream(std::vector && files) { - if (files.size()) { + if (files.size() > 1) { m_priv = std::make_unique(files.begin(), files.end()); - files.clear(); + + } + else if (files.size()) { + m_priv = std::make_unique(std::move(files.front())); } + files.clear(); } PbiStream::PbiStream(const std::vector & fileNames) { @@ -229,7 +233,7 @@ PbiStream::PbiStream(const std::vector & fileNames) { } } if (files.size() == 1) { - m_priv.reset(new imp::SingleFilePbiStream(std::move(files[0]))); + m_priv.reset(new imp::SingleFilePbiStream(std::move(files.front()))); } else if (files.size() > 1) { m_priv.reset(new imp::MultiFilePbiStream(files.begin(), files.end()));