/* Function: hdrfile ** ** Author: Paul W. Carlson April 1992 */ #include #include #include "header.h" #include "ps_info.h" #include "local_proto.h" #define KEY(x) (strcmp(key,x)==0) static char *help[] = { "file header file", "font fontname", "fontsize fontsize", "color color", "" }; int read_header (void) { char buf[1024]; char *key, *data; int color, fontsize; fontsize = 0; color = BLACK; while (input(2, buf, help)) { if (!key_data(buf, &key, &data)) continue; if (KEY("none")) { PS.do_header = 0; continue; } if (KEY("file")) { G_strip(data); hdr.fp = fopen(data, "r"); if (hdr.fp != NULL) hdr.file = G_store(data); continue; } if (KEY("fontsize")) { fontsize = atoi(data); if (fontsize < 4 || fontsize > 50) fontsize = 0; continue; } if (KEY("color")) { color = get_color_number(data); if (color < 0) { color = BLACK; error(key, data, "illegal color request"); } continue; } if (KEY("font")) { get_font(data); hdr.font = G_store(data); continue; } error(key, data, "illegal header sub-request"); } hdr.color = color; if (fontsize) hdr.fontsize = fontsize; return 0; }