Commit 089b2bec authored by Erik Schmauss's avatar Erik Schmauss Committed by Rafael J. Wysocki
Browse files

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: default avatarErik Schmauss <erik.schmauss@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 8a55c696
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);

/*
+23 −3
Original line number Diff line number Diff line
@@ -231,14 +231,34 @@ char acpi_ut_remove_whitespace(char **string)

u8 acpi_ut_detect_hex_prefix(char **string)
{
	char *initial_position = *string;

	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 */
		return (TRUE);
	}

	return (FALSE);		/* Not a hex string */
}

/*******************************************************************************
+1 −1
Original line number Diff line number Diff line
@@ -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);