ACPI_STATUS AcpiDbConvertToPackage ( char *String, ACPI_OBJECT *Object) { char *This; char *Next; UINT32 i; ACPI_OBJECT_TYPE Type; ACPI_OBJECT *Elements; ACPI_STATUS Status; Elements = ACPI_ALLOCATE_ZEROED ( DB_DEFAULT_PKG_ELEMENTS * sizeof (ACPI_OBJECT)); This = String; for (i = 0; i < (DB_DEFAULT_PKG_ELEMENTS - 1); i++) { This = AcpiDbGetNextToken (This, &Next, &Type); if (!This) { break; } /* Recursive call to convert each package element */ Status = AcpiDbConvertToObject (Type, This, &Elements[i]); if (ACPI_FAILURE (Status)) { AcpiDbDeleteObjects (i + 1, Elements); ACPI_FREE (Elements); return (Status); } This = Next; } Object->Type = ACPI_TYPE_PACKAGE; Object->Package.Count = i; Object->Package.Elements = Elements; return (AE_OK); }
static UINT32 AcpiDbGetLine ( char *InputBuffer) { UINT32 i; UINT32 Count; char *Next; char *This; ACPI_STRCPY (AcpiGbl_DbParsedBuf, InputBuffer); This = AcpiGbl_DbParsedBuf; for (i = 0; i < ACPI_DEBUGGER_MAX_ARGS; i++) { AcpiGbl_DbArgs[i] = AcpiDbGetNextToken (This, &Next, &AcpiGbl_DbArgTypes[i]); if (!AcpiGbl_DbArgs[i]) { break; } This = Next; } /* Uppercase the actual command */ if (AcpiGbl_DbArgs[0]) { AcpiUtStrupr (AcpiGbl_DbArgs[0]); } Count = i; if (Count) { Count--; /* Number of args only */ } return (Count); }
UINT32 AcpiDbGetLine ( NATIVE_CHAR *InputBuffer) { UINT32 i; UINT32 Count; NATIVE_CHAR *Next; NATIVE_CHAR *This; ACPI_STRCPY (AcpiGbl_DbParsedBuf, InputBuffer); ACPI_STRUPR (AcpiGbl_DbParsedBuf); This = AcpiGbl_DbParsedBuf; for (i = 0; i < ACPI_DEBUGGER_MAX_ARGS; i++) { AcpiGbl_DbArgs[i] = AcpiDbGetNextToken (This, &Next); if (!AcpiGbl_DbArgs[i]) { break; } This = Next; } /* Uppercase the actual command */ if (AcpiGbl_DbArgs[0]) { ACPI_STRUPR (AcpiGbl_DbArgs[0]); } Count = i; if (Count) { Count--; /* Number of args only */ } return (Count); }