// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /******************************************************************************* * * Module Name: utstring - Common functions for strings and characters *
******************************************************************************/
if (i == max_length && string[i]) {
acpi_os_printf("...");
}
}
/******************************************************************************* * * FUNCTION: acpi_ut_repair_name * * PARAMETERS: name - The ACPI name to be repaired * * RETURN: Repaired version of the name * * DESCRIPTION: Repair an ACPI name: Change invalid characters to '*' and * return the new name. NOTE: the Name parameter must reside in * read/write memory, cannot be a const. * * An ACPI Name must consist of valid ACPI characters. We will repair the name * if necessary because we don't want to abort because of this, but we want * all namespace names to be printable. A warning message is appropriate. * * This issue came up because there are in fact machines that exhibit * this problem, and we want to be able to enable ACPI support for them, * even though there are a few bad names. *
******************************************************************************/
/* * Special case for the root node. This can happen if we get an * error during the execution of module-level code.
*/ if (ACPI_COMPARE_NAMESEG(name, ACPI_ROOT_PATHNAME)) { return;
}
ACPI_COPY_NAMESEG(&original_name, &name[0]);
/* Check each character in the name */
for (i = 0; i < ACPI_NAMESEG_SIZE; i++) { if (acpi_ut_valid_name_char(name[i], i)) { continue;
}
/* * Replace a bad character with something printable, yet technically * "odd". This prevents any collisions with existing "good" * names in the namespace.
*/
name[i] = '_';
found_bad_char = TRUE;
}
if (found_bad_char) {
/* Report warning only if in strict mode or debug mode */
if (!acpi_gbl_enable_interpreter_slack) {
ACPI_WARNING((AE_INFO, "Invalid character(s) in name (0x%.8X) %p, repaired: [%4.4s]",
original_name, name, &name[0]));
} else {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Invalid character(s) in name (0x%.8X), repaired: [%4.4s]",
original_name, name));
}
}
}
#ifdefined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP /******************************************************************************* * * FUNCTION: ut_convert_backslashes * * PARAMETERS: pathname - File pathname string to be converted * * RETURN: Modifies the input Pathname * * DESCRIPTION: Convert all backslashes (0x5C) to forward slashes (0x2F) within * the entire input file pathname string. *
******************************************************************************/
void ut_convert_backslashes(char *pathname)
{
if (!pathname) { return;
}
while (*pathname) { if (*pathname == '\\') {
*pathname = '/';
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.