Annotation of coherent/d/support/bbsadmin/print_recs.c, revision 1.1

1.1     ! root        1: 
        !             2: /* print_(mail_)recs.c
        !             3:  *
        !             4:  * This will take the 'statename' passed form the calling function,
        !             5:  * open the maillist file and print the records that match the statename
        !             6:  * to a window in formatted columns, If there are more records that lines
        !             7:  * permitted on the window, the user will be prompted to press <return> to 
        !             8:  * continue on with any following screens of info.
        !             9: /*
        !            10: 
        !            11: void print_mail_recs(win2,statename)
        !            12: WINDOW *win2;
        !            13: char statename[20];
        !            14: 
        !            15: {
        !            16: struct mail record;
        !            17: FILE *infp;
        !            18: int x=2;
        !            19: 
        !            20: 
        !            21:        if ((infp=fopen(MAILFILE,"r")) == NULL)
        !            22:                {
        !            23:                noraw();
        !            24:                endwin();
        !            25:                printf("Error opening file for input!\n");
        !            26:                exit(1);
        !            27:                }
        !            28: 
        !            29: 
        !            30:        /* print column titles */
        !            31: 
        !            32:        wclear(win2);
        !            33:        wmove(win2,0,0);
        !            34:        wstandout(win2);
        !            35:        waddstr(win2,"Sitename");
        !            36:        wmove(win2,0,15);
        !            37:        waddstr(win2,"Login:");
        !            38:        wmove(win2,0,24);
        !            39:        waddstr(win2,"State/Country:");
        !            40: 
        !            41:        /* if we are looking for a US mailsite, then show a column for
        !            42:         * cities
        !            43:        */
        !            44: 
        !            45:        if(strcmp(statename,"NON-US") != 0)
        !            46:                {
        !            47:                wmove(win2,0,49);
        !            48:                waddstr(win2,"City/Other:");
        !            49:                }
        !            50:        wstandend(win2);
        !            51:        wmove(win2,2,0);
        !            52: 
        !            53:        wrefresh(win2);
        !            54: 
        !            55:        /* read each record, comparing statename for matches. When a 
        !            56:          match is found, print the record */
        !            57: 
        !            58:        while ( fread(&record,sizeof(struct mail),1,infp) == 1)
        !            59:                {
        !            60:                if( (strcmp(statename,record.state)== 0) || ((strcmp(statename,"NON-US")==0) && (strcmp(record.city,"COUNTRY")==0)))
        !            61: 
        !            62:                        {
        !            63:                        wmove(win2,x,0);
        !            64:                        waddstr(win2,record.site);
        !            65:                        wmove(win2,x,16);
        !            66:                        waddstr(win2,record.login);
        !            67:                        wmove(win2,x,26);
        !            68:                        waddstr(win2,record.state);
        !            69:                        if(strcmp(statename,"NON-US")!=0)
        !            70:                                {
        !            71:                                wmove(win2,x,50);
        !            72:                                waddstr(win2,record.city);
        !            73:                                }
        !            74: 
        !            75:        /* increment our line counter, if we've filled our screen,
        !            76:         * prompt the user to press <return> to continue on reading
        !            77:         * any followinf mail entries from the file.
        !            78:        */
        !            79:                        x++;
        !            80:                        if(x==18)
        !            81:                                {
        !            82:                                wmove(win2,x,0);
        !            83:                                waddstr(win2,"Press <RETURN> for more");
        !            84:                                wrefresh(win2);
        !            85:                                while (13 != wgetch(win2));
        !            86:                                x = 2;
        !            87:                                wclear(win2);
        !            88: 
        !            89:                /* reprint the column titles */
        !            90: 
        !            91:                                wmove(win2,0,0);
        !            92:                                wstandout(win2);
        !            93:                                waddstr(win2,"Sitename");
        !            94:                                wmove(win2,0,15);
        !            95:                                waddstr(win2,"Login:");
        !            96:                                wmove(win2,0,24);
        !            97:                                waddstr(win2,"State/Country:");
        !            98: 
        !            99:                                if(strcmp(statename,"NON-US") != 0)
        !           100:                                        {
        !           101:                                        wmove(win2,0,49);
        !           102:                                        waddstr(win2,"City/Other:");
        !           103:                                        }
        !           104:                                wstandend(win2);
        !           105: 
        !           106:                                wrefresh(win2);
        !           107:                                }
        !           108:                        }
        !           109:                }
        !           110:                fclose(infp);
        !           111: 
        !           112:                wmove(win2,18,0);
        !           113:                wstandout(win2);
        !           114:                waddstr(win2,"That's all folks!");
        !           115:                wstandend(win2);
        !           116: 
        !           117:                wmove(win2,19,0);
        !           118:                waddstr(win2,"Press <RETURN> to continue..");           
        !           119:                wrefresh(win2);
        !           120: 
        !           121:                while(13 != wgetch(win2));
        !           122:                wclear(win2);
        !           123: 
        !           124: }

unix.superglobalmegacorp.com

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