% get-all.c-nw % 1 Mar '94 Retrieving all news groups <<*>>= #include #include #include EXPORT void get_all_groups(FILE *f) { char line[MAXLINELEN]; fflush(f); fputs("LIST NEWSGROUPS\r\n", f); fflush(f); if (! fgets(line, sizeof(line), f)) errexit("500 No response from server\r\n"); if (line[0] != '2') errexit(line); fputs("200 OK\r\n", stdout); fputs("MIME-Version: 1.0\r\n", stdout); fputs("Content-Type: text/x-newsgroup-list\r\n", stdout); fputs("Base: news:*\r\n", stdout); fputs("\r\n", stdout); while (fgets(line, sizeof(line), f) && (line[0] != '.' || line[1] != '\r' || line[2] != '\n')) fputs(line, stdout); fflush(f); fprintf(f, "QUIT\r\n"); fflush(f); (void) fgets(line, sizeof(line), f); debug("Done\n"); }