diff options
| author | jhurst <jhurst@cinecert.com> | 2008-05-20 22:40:09 +0000 |
|---|---|---|
| committer | jhurst <> | 2008-05-20 22:40:09 +0000 |
| commit | 8bf17481fbd360094c04d25023986b38e57205bc (patch) | |
| tree | 222c85334489434c4bb2177212956c205d2c2a93 /src/h__Writer.cpp | |
| parent | 71e5dbde64e9186cfd5de462553485612218d6fc (diff) | |
version reorg, precedence patch for stat check
Diffstat (limited to 'src/h__Writer.cpp')
| -rwxr-xr-x | src/h__Writer.cpp | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp index 4517966..fb66b68 100755 --- a/src/h__Writer.cpp +++ b/src/h__Writer.cpp @@ -41,6 +41,31 @@ using namespace ASDCP::MXF; #endif +static std::vector<int> +version_split(const char* str) +{ + std::vector<int> result; + + const char* pstr = str; + const char* r = strchr(pstr, '.'); + + while ( r != 0 ) + { + assert(r >= pstr); + if ( r > pstr ) + result.push_back(atoi(pstr)); + + pstr = r + 1; + r = strchr(pstr, '.'); + } + + if( strlen(pstr) > 0 ) + result.push_back(atoi(pstr)); + + assert(result.size() == 3); + return result; +} + // ASDCP::h__Writer::h__Writer() : @@ -124,9 +149,12 @@ ASDCP::h__Writer::InitHeader() Ident->VersionString = m_Info.ProductVersion.c_str(); Ident->ProductUID.Set(m_Info.ProductUUID); Ident->Platform = ASDCP_PLATFORM; - Ident->ToolkitVersion.Major = VERSION_MAJOR; - Ident->ToolkitVersion.Minor = VERSION_APIMINOR; - Ident->ToolkitVersion.Patch = VERSION_IMPMINOR; + + std::vector<int> version = version_split(Version()); + + Ident->ToolkitVersion.Major = version[0]; + Ident->ToolkitVersion.Minor = version[1]; + Ident->ToolkitVersion.Patch = version[2]; Ident->ToolkitVersion.Build = ASDCP_BUILD_NUMBER; Ident->ToolkitVersion.Release = VersionType::RL_RELEASE; } |
