void acpi_ut_convert_string_to_uuid(char *in_string, u8 *uuid_buffer) { u32 i; for (i = 0; i < UUID_BUFFER_LENGTH; i++) { uuid_buffer[i] = (acpi_ut_ascii_char_to_hex (in_string[acpi_gbl_map_to_uuid_offset[i]]) << 4); uuid_buffer[i] |= acpi_ut_ascii_char_to_hex(in_string [acpi_gbl_map_to_uuid_offset[i] + 1]); } }
static u64 acpi_ut_strtoul_base16(char *string, u32 flags) { int ascii_digit; u32 valid_digits = 1; u64 return_value = 0; /* Main loop: convert each ASCII byte in the input string */ while (*string) { /* Check for overflow (32 or 64 bit) - return current converted value */ if ((valid_digits > 16) || ((valid_digits > 8) && (flags & ACPI_STRTOUL_32BIT))) { goto exit; } ascii_digit = *string; if (!isxdigit(ascii_digit)) { /* Not Hex ASCII A-F, a-f, or 0-9, terminate */ goto exit; } /* Convert and insert the hex digit */ return_value = (return_value << 4) | acpi_ut_ascii_char_to_hex(ascii_digit); string++; valid_digits++; } exit: return (return_value); }