/* Get next language from language code list (with separator ';'). */
VOID EFIAPI GetNextLanguage(IN OUT CHAR8 **LangCode, OUT CHAR8 *Lang)
/* Get next language from language code list (with separator ';'). */
VOID EFIAPI GetNextLanguage(IN OUT CHAR8 **LangCode, OUT CHAR8 *Lang)
{
  UINTN  Index;
  CHAR8  *StringPtr;
  if ((LangCode == NULL) || (*LangCode == NULL) || (Lang == NULL)) {
    return;
  }
  Index     = 0;
  StringPtr = *LangCode;
  while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {
    Index++;
  }
  (VOID)CopyMem (Lang, StringPtr, Index);
  Lang[Index] = 0;
  if (StringPtr[Index] == ';') {
    Index++;
  }
  *LangCode = StringPtr + Index;
}