Module: Mesa Branch: master Commit: f01827a469fa34f0ffb65e2e1401c4e362b0c5f4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f01827a469fa34f0ffb65e2e1401c4e362b0c5f4
Author: Tim Rowley <[email protected]> Date: Tue Jul 19 12:51:46 2016 -0600 swr: [rasterizer core] allow hexadecimal for integer knobs Signed-off-by: Tim Rowley <[email protected]> --- src/gallium/drivers/swr/rasterizer/core/knobs_init.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h index adf738c..ba2df22 100644 --- a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h +++ b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h @@ -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; } } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
