the current implementation. Further calls\r
to this function are possible.\r
\r
- @retval RETURN_NOT_FOUND Translation terminated, *Ptr was (and is)\r
- pointing to an empty string.\r
+ @retval RETURN_NOT_FOUND Translation terminated. On input, *Ptr was\r
+ pointing to the empty string or "HALT". On\r
+ output, *Ptr points to the empty string\r
+ (ie. "HALT" is consumed transparently when\r
+ present).\r
\r
@retval RETURN_INVALID_PARAMETER Parse error. This is a permanent error.\r
\r
OFW_NODE Skip;\r
\r
NumNodes = 0;\r
- Status = ParseOfwNode (Ptr, &Node[NumNodes], &IsFinal);\r
+ if (AsciiStrCmp (*Ptr, "HALT") == 0) {\r
+ *Ptr += 4;\r
+ Status = RETURN_NOT_FOUND;\r
+ } else {\r
+ Status = ParseOfwNode (Ptr, &Node[NumNodes], &IsFinal);\r
+ }\r
\r
if (Status == RETURN_NOT_FOUND) {\r
DEBUG ((DEBUG_VERBOSE, "%a: no more nodes\n", __FUNCTION__));\r