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