diff options
| author | kamalpreetgrewal <grewalkamal005@gmail.com> | 2016-06-10 06:57:53 +0000 |
|---|---|---|
| committer | kamalpreetgrewal <grewalkamal005@gmail.com> | 2016-06-10 06:57:53 +0000 |
| commit | 2b3f179e9c9e8f7d3836dc7350d34ebcc03f8326 (patch) | |
| tree | 07d53177432172f888df8be9ec0476f68aeba1cb /src/version.cpp | |
| parent | Set class attribute values of selected objects using style dialog (diff) | |
| parent | Fix make test target (diff) | |
| download | inkscape-2b3f179e9c9e8f7d3836dc7350d34ebcc03f8326.tar.gz inkscape-2b3f179e9c9e8f7d3836dc7350d34ebcc03f8326.zip | |
Merge changes from trunk
(bzr r14949.1.4)
Diffstat (limited to 'src/version.cpp')
| -rw-r--r-- | src/version.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/version.cpp b/src/version.cpp index abe855ee7..7610cd8e7 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -21,28 +21,36 @@ bool sp_version_from_string(const char *string, Inkscape::Version *version) if (!string) { return false; } - + try { std::stringstream ss; + + // Throw exception if error. + ss.exceptions(std::ios::failbit | std::ios::badbit); ss << string; ss >> version->_major; char tmp=0; ss >> tmp; ss >>version->_minor; + + // Don't throw exception if failbit gets set (empty string OK). + ss.exceptions(std::ios::goodbit); + getline(ss, version->_tail); return true; } catch(...) { version->_major = 0; version->_minor = 0; + version->_tail.clear(); return false; } } char *sp_version_to_string(Inkscape::Version version) { - return g_strdup_printf("%u.%u", version._major, version._minor); + return g_strdup_printf("%u.%u%s", version._major, version._minor, version._tail.c_str()); } bool sp_version_inside_range(Inkscape::Version version, |
