> Indeed, I expect that there are other constructs that are also invalid C89, > in particular non-constant initialisers that are used quite a lot, e.g. > > char *text1 = (*entry1)->text;
On further investigation, this appears always to have been valid.