Indy reserviert für die Antwort 32 kB. Nach der Ermittlung der Antwortlänge wird die Antwort in einem entsprechend großen Buffer geschrieben. Im Beispiel sind es 663 Byte.
ReadLn ruft ReadLn(LF) auf und die function TIdBuffer.IndexOf(const AString: string; AStartPos: Integer): Integer; ermittelt die Position des nächsten LF. Beim letzten String wird die Funktion einfach beendet und anstelle der Länge des letzten Strings -1 zurückgegeben.