es war ein copy- und paste-Error.
In dem kopierten neuen Code stand zuerst
strcpy(list[i*CAPSLEN], buf);
und auch mal
strcpy(list[i*MENULEN], buf);

aber dann statt
strcpy(list[i], buf);

fälschlicherweise dann durch falsches copy+paste und falsches heraus-löschen
strcpy(list[MENULEN], buf);
und hier beim letzten gabs NATÜRLICH wieder einen Fehler