[Mesa-dev] [PATCH] gallium/util: make use of strtol() in debug_get_num_option()

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Sep 19 22:11:59 UTC 2016



On 09/19/2016 11:59 PM, Brian Paul wrote:
> Seems OK here.
>
> Tested-by: Brian Paul <brianp at vmware.com>

Thanks for testing and reviewing guys.

>
> On 09/19/2016 02:43 AM, Nicolai Hähnle wrote:
>> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>
>> However, you might want to check with the VMWare guys. I seem to recall
>> that MSVC is a bit peculiar with some of these library functions.
>>
>> Cheers,
>> Nicolai
>>
>> On 14.09.2016 20:37, Samuel Pitoiset wrote:
>>> This allows to use hexadecimal numbers which are automatically
>>> detected by strtol() when the base is 0.
>>>
>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>> ---
>>>  src/gallium/auxiliary/util/u_debug.c | 25 ++++++++-----------------
>>>  1 file changed, 8 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/src/gallium/auxiliary/util/u_debug.c
>>> b/src/gallium/auxiliary/util/u_debug.c
>>> index 4619526..dd3e167 100644
>>> --- a/src/gallium/auxiliary/util/u_debug.c
>>> +++ b/src/gallium/auxiliary/util/u_debug.c
>>> @@ -203,25 +203,16 @@ debug_get_num_option(const char *name, long
>>> dfault)
>>>     const char *str;
>>>
>>>     str = os_get_option(name);
>>> -   if (!str)
>>> +   if (!str) {
>>>        result = dfault;
>>> -   else {
>>> -      long sign;
>>> -      char c;
>>> -      c = *str++;
>>> -      if (c == '-') {
>>> -     sign = -1;
>>> -     c = *str++;
>>> -      }
>>> -      else {
>>> -     sign = 1;
>>> -      }
>>> -      result = 0;
>>> -      while ('0' <= c && c <= '9') {
>>> -     result = result*10 + (c - '0');
>>> -     c = *str++;
>>> +   } else {
>>> +      char *endptr;
>>> +
>>> +      result = strtol(str, &endptr, 0);
>>> +      if (str == endptr) {
>>> +         /* Restore the default value when no digits were found. */
>>> +         result = dfault;
>>>        }
>>> -      result *= sign;
>>>     }
>>>
>>>     if (debug_get_option_should_print())
>>>
>


More information about the mesa-dev mailing list