void print_list() { int i; TITEM *t; if (!pagelen) print_head(); if (!grp_sort) { for(i=0,t=itlist;i<item_count;i++,t++) { endpage(i); print_polozka(i,t); } } else { TITEM *list; int *nums; list=(TITEM *)malloc(sizeof(TITEM)*item_count); nums=(int *)malloc(sizeof(int)*item_count); counting_sort(itlist,list,item_count,nums); for(i=0,t=list;i<item_count;i++,t++) { endpage(i); print_polozka(nums[i],t); } free(list); free(nums); } }
int main( int argc, char **argv ) { FILE *fp; progname = *argv++; argc--; init(progname); if (argc) while (argc) { fp = efopen(*argv, "r"); plot(fp); fclose(fp); argv++; argc--; } else plot(stdin); if (!newpage) endpage(); done(); return(0); }
void newpage() { if (page_no >= 0) endpage(); else page_no = 1; beginpage(); }
int main() { TXTLEN = o_pl-o_m1-o_m2-o_m3-o_m4 - 2; assylen = 0; assyline[0] = 0; readfile(); writebreak(); endpage(); #ifdef H_LANG exit(); #else exit(0); #endif }
void conv(Biobuf *Bp) { long n; int r; char special[10]; int save; inputlineno = 1; if (debug) Bprint(Bstderr, "conv(Biobufhdr *Bp=0x%x)\n", Bp); while ((r = Bgetrune(Bp)) >= 0) { /* Bprint(Bstderr, "r=<%c>,0x%x\n", r, r); */ /* Bflush(Bstderr); */ switch (r) { case 's': /* set point size */ Bgetfield(Bp, 'd', &fontsize, 0); break; case 'f': /* set font to postion */ Bgetfield(Bp, 'd', &fontpos, 0); save = inputlineno; settrfont(); inputlineno = save; /* ugh */ break; case 'c': /* print rune */ r = Bgetrune(Bp); runeout(r); break; case 'C': /* print special character */ Bgetfield(Bp, 's', special, 10); specialout(special); break; case 'N': /* print character with numeric value from current font */ Bgetfield(Bp, 'd', &n, 0); break; case 'H': /* go to absolute horizontal position */ Bgetfield(Bp, 'd', &n, 0); hgoto(n); break; case 'V': /* go to absolute vertical position */ Bgetfield(Bp, 'd', &n, 0); vgoto(n); break; case 'h': /* go to relative horizontal position */ Bgetfield(Bp, 'd', &n, 0); hmot(n); break; case 'v': /* go to relative vertical position */ Bgetfield(Bp, 'd', &n, 0); vmot(n); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': /* move right nn units, then print character c */ n = (r - '0') * 10; r = Bgetrune(Bp); if (r < 0) error(FATAL, "EOF or error reading input\n"); else if (r < '0' || r > '9') error(FATAL, "integer expected\n"); n += r - '0'; r = Bgetrune(Bp); hmot(n); runeout(r); break; case 'p': /* begin page */ Bgetfield(Bp, 'd', &n, 0); endpage(); startpage(); break; case 'n': /* end of line (information only 'b a' follows) */ Brdline(Bp, '\n'); /* toss rest of line */ inputlineno++; break; case 'w': /* paddable word space (information only) */ break; case 'D': /* graphics function */ draw(Bp); break; case 'x': /* device control functions */ devcntl(Bp); break; case '#': /* comment */ Brdline(Bp, '\n'); /* toss rest of line */ case '\n': inputlineno++; break; default: error(WARNING, "unknown troff function <%c>\n", r); break; } } endpage(); if (debug) Bprint(Bstderr, "r=0x%x\n", r); if (debug) Bprint(Bstderr, "leaving conv\n"); }
int doglobal( /* execute a global command */ PRIMITIVE *g ) { FILE *fp = NULL; switch (g->com) { case PEOF: return(0); case PPAUS: break; case PINCL: if (g->args == NULL) error(USER, "missing include file name in include"); if (g->arg0 == 2 || (fp = fopen(g->args, "r")) == NULL) { if (g->arg0 != 0) fp = mfopen(g->args, "r"); else { sprintf(errmsg, "cannot open user include file \"%s\"", g->args); error(USER, errmsg); } } plot(fp); fclose(fp); break; case PDRAW: fflush(stdout); break; case PEOP: endpage(); newpage = TRUE; break; case PSET: set(g->arg0, g->args); break; case PUNSET: unset(g->arg0); break; case PRESET: reset(g->arg0); break; case POPEN: segopen(g->args); break; case PCLOSE: segclose(); break; default: sprintf(errmsg, "unknown command '%c' in doglobal", g->com); error(WARNING, errmsg); break; } return(1); }