Annotation of researchv10no/cmd/cfront/libstring/test5.c, revision 1.1.1.1

1.1       root        1: // list test program.  Takes one argument, reads standard input.
                      2: // removes copies of argument from input
                      3: 
                      4: #include "String.h"
                      5: #include "list.h"
                      6: 
                      7: listdeclare(String)
                      8: 
                      9: String_list
                     10: remove(String s, String_list ls)
                     11: {
                     12:        String  temp;
                     13:        if ( ls.getX(temp) ) {
                     14:                if ( s == temp )
                     15:                        return remove(s, ls);
                     16:                else return remove(s,ls).unget(temp);
                     17:        } else return ls;
                     18: }
                     19: 
                     20: 
                     21: main(int argc, char **argv)
                     22: {
                     23:        String_list     slist;
                     24:        String  temp;
                     25:        if ( argc != 2 ) {
                     26:                cout << "must supply an arg\n";
                     27:                exit(1);
                     28:        }
                     29:        String  arg(argv[1]);
                     30:        while ( cin >> temp)
                     31:                slist.put(temp);
                     32:        cout << remove(arg, slist) << "\n";
                     33: }

unix.superglobalmegacorp.com

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