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:
Erik Schmauss 2018-08-10 14:42:57 -07:00 committed by Rafael J. Wysocki
parent 8a55c696d3
commit 089b2bec97
3 changed files with 27 additions and 5 deletions

View File

@ -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);
/*

View File

@ -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

View File

@ -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);