/* Count and optionally record pointers to a number of NUL terminated strings in a buffer. */
STATIC UINT32 ExtractStrings(IN CONST CHAR8 *Strings, IN UINTN Len, OUT CONST CHAR8 **Dst OPTIONAL)
/* Count and optionally record pointers to a number of NUL terminated strings in a buffer. */
STATIC UINT32 ExtractStrings(IN CONST CHAR8 *Strings, IN UINTN Len, OUT CONST CHAR8 **Dst OPTIONAL)
{
  UINT32       Num = 0;
  CONST CHAR8  *Ptr;
  for (Ptr = Strings; Ptr < Strings + Len; Ptr += AsciiStrSize (Ptr)) {
    if (Dst != NULL) {
      *Dst++ = Ptr;
    }
    Num++;
  }
  return Num;
}