diff --git a/wxdata/source/scwx/wsr88d/nexrad_file_factory.cpp b/wxdata/source/scwx/wsr88d/nexrad_file_factory.cpp index 8ef0c49d..ff5e241f 100644 --- a/wxdata/source/scwx/wsr88d/nexrad_file_factory.cpp +++ b/wxdata/source/scwx/wsr88d/nexrad_file_factory.cpp @@ -70,9 +70,9 @@ std::shared_ptr NexradFileFactory::Create(std::istream& is) std::string buffer; bool dataValid; - buffer.resize(4); + buffer.resize(8); - is.read(buffer.data(), 4); + is.read(buffer.data(), 8); dataValid = is.good(); is.seekg(pisBegin, std::ios_base::beg); @@ -89,7 +89,7 @@ std::shared_ptr NexradFileFactory::Create(std::istream& is) pis = &ss; pisBegin = ss.tellg(); - ss.read(buffer.data(), 4); + ss.read(buffer.data(), 8); dataValid = ss.good(); ss.seekg(pisBegin, std::ios_base::beg); @@ -118,6 +118,10 @@ std::shared_ptr NexradFileFactory::Create(std::istream& is) { message = std::make_shared(); } + else if (buffer.starts_with("ARCHIVE2")) + { + logger_->warn("ARCHIVE2 format not supported"); + } else { message = std::make_shared();