ref: ae1cfc9082b3f56a8502938b892bf0555110a741
dir: /sys/src/cmd/troff/unansi/
# The awk program cvt will convert the relatively sterotyped ansi c # in this troff distribution into older-style c, by munging function # declarations. # You will also have to edit fns.h, by # sed 's/(.*)/()/g' fns.h >foo; mv foo fns.h # check this before doing the move! # you will also have to make some editing changes in # tdef.h in the Contab structure: s/(void)/()/ # you may have to fix up some function declarations # in n4.c, the ones with (*f)(Tchar). # you will surely also have header files to deal with. # the most obvious cases are dealt with by the following # commands. make sure you do this stuff on a copy! # function prototypes in n8.c probably belong in fns.h. readpats(void) must # be readpats() before cvt runs. sed \ -e 's/(void)/()/' \ -e 's/(Tchar[^)]*);/();/' \ -e 's/(char[^)]*);/();/' \ -e 's/(int[^)]*);/();/' \ n8.c >foo mv foo n8.c for i in *.c do cvt $i >foo mv foo $i done sed 's/(.*)/()/g' fns.h >foo mv foo fns.h sed -e 's/(void)/()/g' -e '/stdlib/d' tdef.h >foo mv foo tdef.h # Compliers may not approve of void *setbrk() in fns.h and n3.c. sed 's/^void\*[ ]setbrk/char* setbrk/' fns.h >foo mv foo fns.h sed 's/^void \*setbrk/char *setbrk/' n3.c >foo mv foo n3.c