ACPICA: Utilities: split hex detection into smaller functions
acpi_ut_implicit_strtoul64() called acpi_ut_detect_hex_prefix() and ignored the return value. Instead, use acpi_ut_remove_hex_prefix(). Signed-off-by: Erik Schmauss <erik.schmauss@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
8a55c696d3
Коммит
089b2bec97
|
@ -180,6 +180,8 @@ char acpi_ut_remove_leading_zeros(char **string);
|
|||
|
||||
u8 acpi_ut_detect_hex_prefix(char **string);
|
||||
|
||||
void acpi_ut_remove_hex_prefix(char **string);
|
||||
|
||||
u8 acpi_ut_detect_octal_prefix(char **string);
|
||||
|
||||
/*
|
||||
|
|
|
@ -231,16 +231,36 @@ char acpi_ut_remove_whitespace(char **string)
|
|||
|
||||
u8 acpi_ut_detect_hex_prefix(char **string)
|
||||
{
|
||||
char *initial_position = *string;
|
||||
|
||||
if ((**string == ACPI_ASCII_ZERO) &&
|
||||
(tolower((int)*(*string + 1)) == 'x')) {
|
||||
*string += 2; /* Go past the leading 0x */
|
||||
return (TRUE);
|
||||
acpi_ut_remove_hex_prefix(string);
|
||||
if (*string != initial_position) {
|
||||
return (TRUE); /* String is past leading 0x */
|
||||
}
|
||||
|
||||
return (FALSE); /* Not a hex string */
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: acpi_ut_remove_hex_prefix
|
||||
*
|
||||
* PARAMETERS: string - Pointer to input ASCII string
|
||||
*
|
||||
* RETURN: none
|
||||
*
|
||||
* DESCRIPTION: Remove a hex "0x" prefix
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
void acpi_ut_remove_hex_prefix(char **string)
|
||||
{
|
||||
if ((**string == ACPI_ASCII_ZERO) &&
|
||||
(tolower((int)*(*string + 1)) == 'x')) {
|
||||
*string += 2; /* Go past the leading 0x */
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: acpi_ut_detect_octal_prefix
|
||||
|
|
|
@ -218,7 +218,7 @@ u64 acpi_ut_implicit_strtoul64(char *string)
|
|||
* implicit conversions, and the "0x" prefix is "not allowed".
|
||||
* However, allow a "0x" prefix as an ACPI extension.
|
||||
*/
|
||||
acpi_ut_detect_hex_prefix(&string);
|
||||
acpi_ut_remove_hex_prefix(&string);
|
||||
|
||||
if (!acpi_ut_remove_leading_zeros(&string)) {
|
||||
return_VALUE(0);
|
||||
|
|
Загрузка…
Ссылка в новой задаче