[PATCH v2 1/4] lib: provide function hextoull()

Marek Vasut marex at denx.de
Thu Nov 7 11:51:39 CET 2024


On 11/7/24 10:45 AM, Ilias Apalodimas wrote:
> On Sun, 3 Nov 2024 at 22:42, Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> wrote:
>>
>> We often convert hexadecimal strings to hextoull(). Provide a wrapper
>> function to simple_strtoull() that does not require specifying the radix.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>> ---
>> v2:
>>          no change
>> ---
>>   include/vsprintf.h | 13 +++++++++++++
>>   lib/strto.c        |  5 +++++
>>   2 files changed, 18 insertions(+)
>>
>> diff --git a/include/vsprintf.h b/include/vsprintf.h
>> index fe951471426..9da6ce7cc4d 100644
>> --- a/include/vsprintf.h
>> +++ b/include/vsprintf.h
>> @@ -44,6 +44,19 @@ ulong simple_strtoul(const char *cp, char **endp, unsigned int base);
>>    */
>>   unsigned long hextoul(const char *cp, char **endp);
>>
>> +/**
>> + * hex_strtoull - convert a string in hex to an unsigned long long
>> + *
>> + * @cp: The string to be converted
>> + * @endp: Updated to point to the first character not converted
>> + * Return: value decoded from string (0 if invalid)
>> + *
>> + * Converts a hex string to an unsigned long long. If there are invalid
>> + * characters at the end these are ignored. In the worst case, if all characters
>> + * are invalid, 0 is returned
>> + */
>> +unsigned long long hextoull(const char *cp, char **endp);
>> +
>>   /**
>>    * dec_strtoul - convert a string in decimal to an unsigned long
>>    *
>> diff --git a/lib/strto.c b/lib/strto.c
>> index f83ac67c666..206d1e91847 100644
>> --- a/lib/strto.c
>> +++ b/lib/strto.c
>> @@ -78,6 +78,11 @@ ulong hextoul(const char *cp, char **endp)
>>          return simple_strtoul(cp, endp, 16);
>>   }
>>
>> +unsigned long long hextoull(const char *cp, char **endp)
>> +{
>> +       return simple_strtoull(cp, endp, 16);
>> +}
>> +
>>   ulong dectoul(const char *cp, char **endp)
>>   {
>>          return simple_strtoul(cp, endp, 10);
>> --
>> 2.45.2
>>
> 
> Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>

+CC Jaehoon


More information about the U-Boot mailing list