Ups. Ich hatte nach dem Quellcode Beispiel nicht mehr weiter gelesen. Aber es ist eigentlich keine Leerzeile. #0 ist der Trenner in der "Liste" und #0#0 kennzeichnet das Ende der "Liste".
Und wenn man mal stumpf logisch vorgeht und immer beim #0 trennt, dann wird aus
eine Liste die so aussieht
und das letzte Element ist eben diese Leerzeile. Die Leerzeile markiert dann das Ende. Darum muss man auch peinlich darauf achten, wenn man sowas übergibt, dass man dazwischen
keine Leerzeilen hat, sonst ist da sofort Ende
Programmtechnisch ist diese Vorgehensweise auch wesentlich einfacher umzusetzen, als auf das Erscheinen von den #0#0 zu prüfen. Einfaches iterieren über die Zeichen und alles was ungleich #0 ist in einen Buffer schreiben. Kommt ein #0 Zeichen und der Buffer ist nicht leer, dann den Buffer-Inhalt verarbeiten und weiter mit dem Iterieren. Ist der Buffer jedoch leer, dann hört man einfach auf.