Bringing ChocolateCaste-0.7 into the main branch.
[AROS-Contrib.git] / bgui / RexxBGUI / makefunc.e
blob9f75993241868c633223758784f3698099c639d1
2 MODULE 'dos/dostags'
4 CONST ZERO=0
6 ENUM ERR_NONE,ERR_ARGS,ERR_OPEN
8 RAISE ERR_ARGS IF ReadArgs()=NIL,
9 ERR_OPEN IF Open()=ZERO
11 PROC main() HANDLE
12 DEF rda=NIL,in=ZERO,out=ZERO,str[257]:STRING,q
13 DEF a[2]:ARRAY OF LONG
14 rda:=ReadArgs('FROM/A,TO/A',a,NIL)
15 in:=Open(a[0],OLDFILE)
16 out:=Open('t:makefunc.temp',NEWFILE)
17 WHILE Fgets(in,str,256)
18 IF StrCmp(str,'\t\t/* ',STRLEN)
19 IF q:=InStr(str,'=')+1 THEN Fputs(out,str+q)
20 ENDIF
21 ENDWHILE
22 Close(out); out:=ZERO
23 out:=Open('t:makefunc.header',NEWFILE)
24 Fputs(out,'\e[1mFunctions in alphabetical order\e[22m\n\n')
25 Close(out); out:=ZERO
26 StringF(str,'Sort t:makefunc.temp t:makefunc.sorted\n'+
27 'Join t:makefunc.header t:makefunc.sorted AS \s',a[1])
28 SystemTagList(str,NIL)
29 DeleteFile('t:makefunc.temp')
30 DeleteFile('t:makefunc.header')
31 DeleteFile('t:makefunc.sorted')
32 EXCEPT DO
33 Close(out)
34 Close(in)
35 IF rda THEN FreeArgs(rda)
36 SELECT exception
37 CASE ERR_ARGS; PrintFault(IoErr(),'MakeFunc cannot read args')
38 CASE ERR_OPEN; PrintFault(IoErr(),'MakeFunc cannot open file')
39 ENDSELECT
40 ENDPROC