mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-06 20:44:25 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
29
libs/transit/transit_version.cpp
Normal file
29
libs/transit/transit_version.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#include "transit/transit_version.hpp"
|
||||
|
||||
#include "base/logging.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
#include <exception>
|
||||
#include <limits>
|
||||
|
||||
namespace transit
|
||||
{
|
||||
TransitVersion GetVersion(Reader & reader)
|
||||
{
|
||||
try
|
||||
{
|
||||
NonOwningReaderSource src(reader);
|
||||
uint16_t headerVersion = std::numeric_limits<uint16_t>::max();
|
||||
ReadPrimitiveFromSource(src, headerVersion);
|
||||
CHECK_LESS(headerVersion, static_cast<uint16_t>(TransitVersion::Counter),
|
||||
("Invalid transit header version."));
|
||||
|
||||
return static_cast<TransitVersion>(headerVersion);
|
||||
}
|
||||
catch (std::exception const & ex)
|
||||
{
|
||||
LOG(LERROR, ("Error reading header version from transit mwm section.", ex.what()));
|
||||
throw;
|
||||
}
|
||||
}
|
||||
} // namespace transit
|
||||
Reference in New Issue
Block a user