diff options
| author | André Nusser <andre.nusser@googlemail.com> | 2018-06-07 17:26:49 +0200 | 
|---|---|---|
| committer | André Nusser <andre.nusser@googlemail.com> | 2018-06-07 17:26:49 +0200 | 
| commit | 93fe142f21e501a9ff12432d35fbf89b87135f9c (patch) | |
| tree | 45b79d80073f429e7315ca1a2a8de61ed74d664d | |
| parent | f9541d8b78bb59713eede3748a4e1bb5776ef87c (diff) | |
Actually remove throw in versionstr and replace C-array by std::array.
| -rw-r--r-- | src/versionstr.cc | 16 | ||||
| -rw-r--r-- | src/versionstr.h | 4 | 
2 files changed, 13 insertions, 7 deletions
| diff --git a/src/versionstr.cc b/src/versionstr.cc index a46f221..be6913b 100644 --- a/src/versionstr.cc +++ b/src/versionstr.cc @@ -1,5 +1,4 @@  /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set et sw=2 ts=2: */  /***************************************************************************   *            versionstr.cc   * @@ -31,6 +30,8 @@  #include <stdlib.h>  #include <stdio.h> +#include <hugin.hpp> +  // Workaround - major, minor and patch are defined as macros when using  // _GNU_SOURCES  #ifdef major @@ -45,7 +46,6 @@  VersionStr::VersionStr(const std::string& v)  { -	memset(version, 0, sizeof(version));  	set(v);  } @@ -66,7 +66,9 @@ void VersionStr::set(const std::string& v)  		{  			if(idx > 2)  			{ -				throw "Version string is too long."; +				version = {0, 0, 0}; +				ERR(version, "Version string is too long."); +				return;  			}  			version[idx] = atoi(num.c_str());  			idx++; @@ -78,12 +80,16 @@ void VersionStr::set(const std::string& v)  		}  		else  		{ -			throw "Version string contains illegal character."; +			version = {0, 0, 0}; +			ERR(version, "Version string contains illegal character."); +			return;  		}  	}  	if(idx > 2)  	{ -		throw "Version string is too long."; +		version = {0, 0, 0}; +		ERR(version, "Version string is too long."); +		return;  	}  	version[idx] = atoi(num.c_str());  } diff --git a/src/versionstr.h b/src/versionstr.h index 48eb40a..9fc2fcd 100644 --- a/src/versionstr.h +++ b/src/versionstr.h @@ -1,5 +1,4 @@  /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set et sw=2 ts=2: */  /***************************************************************************   *            versionstr.h   * @@ -27,6 +26,7 @@   */  #pragma once +#include <array>  #include <string>  // Workaround - major, minor and patch are defined as macros when using @@ -108,5 +108,5 @@ public:  private:  	void set(const std::string& v); -	size_t version[3]; +	std::array<size_t, 3> version = {0, 0, 0};  }; | 
