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