Annotation of 43BSD/contrib/icon/src/cmd/gcomp.icn, revision 1.1.1.1

1.1       root        1: #      GCOMP(1)
                      2: #
                      3: #      Produce complement of file specification
                      4: #
                      5: #      William H. Mitchell, revised by Thomas Hicks
                      6: #
                      7: #      Last modified 8/14/84
                      8: #
                      9: 
                     10: procedure main(args)
                     11:    local a, dir, ent, files
                     12:    files := mkftbl()   
                     13:    while a := get(args) do
                     14:       files[a] := &null
                     15:    every files["." | ".."] := &null
                     16:    files := sort(files)
                     17:    while a := get(files) do
                     18:       write((\a[2],a[1]))              # a[1] written iff a[2] has value
                     19: end
                     20: 
                     21: procedure mkftbl()                     # make a table of file names from
                     22:    local line                          # the current directory
                     23:    line := read(open("echo * .*","rp"))
                     24:    return str2tbl(line,' ')
                     25: end
                     26: 
                     27: procedure str2tbl(str,delim)           # convert a delmited string into
                     28:     local tbl                          # a table
                     29:     tbl := table(1)
                     30:     str ? {
                     31:        while tbl[(tab(upto(delim)))] := 1 do
                     32:            move(1)
                     33:        tbl["" ~== tab(0)] := 1
                     34:        }
                     35:     return tbl
                     36: end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.