swr: [rasterizer core] allow hexadecimal for integer knobs

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
This commit is contained in:
Tim Rowley 2016-07-19 12:51:46 -06:00
parent 49741e1cd2
commit f01827a469
1 changed files with 6 additions and 3 deletions

View File

@ -38,7 +38,9 @@ template <typename T>
static inline void ConvertEnvToKnob(const char* pOverride, T& knobValue)
{
uint32_t value = 0;
if (sscanf(pOverride, "%u", &value))
char* pStopped = nullptr;
value = strtoul(pOverride, &pStopped, 0);
if (pStopped != pOverride)
{
knobValue = static_cast<T>(value);
}
@ -64,10 +66,11 @@ static inline void ConvertEnvToKnob(const char* pOverride, bool& knobValue)
// Try converting to a number and casting to bool
uint32_t value = 0;
if (sscanf(pOverride, "%u", &value))
char* pStopped = nullptr;
value = strtoul(pOverride, &pStopped, 0);
if (pStopped != pOverride)
{
knobValue = value != 0;
return;
}
}