Annotation of researchv10no/cmd/calendar/calendar1.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #include <pwd.h>
                      3: struct passwd pwstruct;
                      4: struct passwd *pw = &pwstruct;
                      5: struct passwd *getpwent();
                      6: 
                      7: main(argc, argv)
                      8: char **argv;
                      9: {
                     10:        char cfile[100], cname[100];
                     11:        if(argc > 1)
                     12:                process(argv[1], "");
                     13:        else while(pw=getpwent()) {
                     14:                strcpy(cname, pw->pw_name);
                     15:                strcpy(cfile, pw->pw_dir);
                     16:                strcat(cfile, "/calendar");
                     17:                process(cfile, cname);
                     18:        }
                     19:        return(0);
                     20: }
                     21: 
                     22: process(file, name)
                     23: char *file, *name;
                     24: {
                     25:        char s[201];
                     26:        FILE *f;
                     27:        if(access(file,04)==0 && access(file,01)==-1)
                     28:                printf("!%s %s\n",file,name);
                     29:        f = fopen(file,"r");
                     30:        if(f!=NULL) {
                     31:                while(fgets(s,200,f))
                     32:                        if(strncmp("#include",s,8)==0)
                     33:                                include(s, name);
                     34:                fclose(f);
                     35:        }
                     36: }
                     37: 
                     38: include(s, name)
                     39: char *s, *name;
                     40: {
                     41:        char *t;
                     42:        for(t=s; *t; t++)
                     43:                continue;
                     44:        for(;;) {
                     45:                switch(t[-1]) {
                     46:                case '\n':
                     47:                case '"':
                     48:                        *--t = 0;
                     49:                        continue;
                     50:                }
                     51:                break;
                     52:        }
                     53:        for(t=s+8;;t++) {
                     54:                switch(*t) {
                     55:                case ' ':
                     56:                case '\t':
                     57:                case '"':
                     58:                        continue;
                     59:                }
                     60:                break;
                     61:        }
                     62:        if(access(t,04)==0 && access(t,01)==-1)
                     63:                printf("!%s %s\n",t,name);
                     64:        else if(index(t,'!')!=0)
                     65:                printf("%s %s\n",t,name);
                     66: }
                     67: 

unix.superglobalmegacorp.com

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