unansi - 9base - revived minimalist port of Plan 9 userland to Unix
 (HTM) git clone git://git.suckless.org/9base
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       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