1*219b2ee8SDavid du Colombier# The awk program cvt will convert the relatively sterotyped ansi c 2*219b2ee8SDavid du Colombier# in this troff distribution into older-style c, by munging function 3*219b2ee8SDavid du Colombier# declarations. 4*219b2ee8SDavid du Colombier 5*219b2ee8SDavid du Colombier# You will also have to edit fns.h, by 6*219b2ee8SDavid du Colombier# sed 's/(.*)/()/g' fns.h >foo; mv foo fns.h 7*219b2ee8SDavid du Colombier# check this before doing the move! 8*219b2ee8SDavid du Colombier 9*219b2ee8SDavid du Colombier# you will also have to make some editing changes in 10*219b2ee8SDavid du Colombier# tdef.h in the Contab structure: s/(void)/()/ 11*219b2ee8SDavid du Colombier# you may have to fix up some function declarations 12*219b2ee8SDavid du Colombier# in n4.c, the ones with (*f)(Tchar). 13*219b2ee8SDavid du Colombier 14*219b2ee8SDavid du Colombier# you will surely also have header files to deal with. 15*219b2ee8SDavid du Colombier 16*219b2ee8SDavid du Colombier# the most obvious cases are dealt with by the following 17*219b2ee8SDavid du Colombier# commands. make sure you do this stuff on a copy! 18*219b2ee8SDavid du Colombier 19*219b2ee8SDavid du Colombier# function prototypes in n8.c probably belong in fns.h. readpats(void) must 20*219b2ee8SDavid du Colombier# be readpats() before cvt runs. 21*219b2ee8SDavid du Colombier 22*219b2ee8SDavid du Colombiersed \ 23*219b2ee8SDavid du Colombier -e 's/(void)/()/' \ 24*219b2ee8SDavid du Colombier -e 's/(Tchar[^)]*);/();/' \ 25*219b2ee8SDavid du Colombier -e 's/(char[^)]*);/();/' \ 26*219b2ee8SDavid du Colombier -e 's/(int[^)]*);/();/' \ 27*219b2ee8SDavid du Colombiern8.c >foo 28*219b2ee8SDavid du Colombiermv foo n8.c 29*219b2ee8SDavid du Colombier 30*219b2ee8SDavid du Colombierfor i in *.c 31*219b2ee8SDavid du Colombierdo 32*219b2ee8SDavid du Colombier cvt $i >foo 33*219b2ee8SDavid du Colombier mv foo $i 34*219b2ee8SDavid du Colombierdone 35*219b2ee8SDavid du Colombier 36*219b2ee8SDavid du Colombiersed 's/(.*)/()/g' fns.h >foo 37*219b2ee8SDavid du Colombiermv foo fns.h 38*219b2ee8SDavid du Colombier 39*219b2ee8SDavid du Colombiersed -e 's/(void)/()/g' -e '/stdlib/d' tdef.h >foo 40*219b2ee8SDavid du Colombiermv foo tdef.h 41*219b2ee8SDavid du Colombier 42*219b2ee8SDavid du Colombier# Compliers may not approve of void *setbrk() in fns.h and n3.c. 43*219b2ee8SDavid du Colombier 44*219b2ee8SDavid du Colombiersed 's/^void\*[ ]setbrk/char* setbrk/' fns.h >foo 45*219b2ee8SDavid du Colombiermv foo fns.h 46*219b2ee8SDavid du Colombier 47*219b2ee8SDavid du Colombiersed 's/^void \*setbrk/char *setbrk/' n3.c >foo 48*219b2ee8SDavid du Colombiermv foo n3.c 49*219b2ee8SDavid du Colombier 50