home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char *sccsid = "@(#)list.c 1.10 (Berkeley) 2/6/88";
- #endif
-
- #include "common.h"
-
- /*
- * LIST
- *
- * List active newsgroups.
- *
- */
-
- list(argc, argv)
- int argc;
- char *argv[];
- {
- char line[NNTP_STRLEN];
- char *grparray[2];
- register char *cp;
- register FILE *active_fp;
-
- grparray[0] = line;
- grparray[1] = NULL;
-
- active_fp = fopen(activefile, "r");
-
- if (active_fp == NULL) {
- printf("%d No list of newsgroups available.\r\n", ERR_FAULT);
- (void) fflush(stdout);
- #ifdef SYSLOG
- syslog(LOG_ERR, "list: fopen %s: %m", activefile);
- #endif
- return;
- }
-
- printf("%d Newsgroups in form \"group high low y/n/m\".\r\n",
- OK_GROUPS);
-
- while (fgets(line, sizeof(line), active_fp) != NULL) {
- if ((cp = index(line, '\n')) != NULL)
- *cp = '\0';
- if (ngpermcount)
- if (ngmatch(s1strneql, ALLBUT,
- ngpermlist, ngpermcount,
- grparray, 1) == 0)
- continue;
- putline(line);
- }
- (void) fclose(active_fp);
-
- putline(".");
- (void) fflush(stdout);
- }
-