X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput.c;h=c0c4e0b022339f4e1f1a978b611dca96d00925ad;hb=97d6c6f6b1922621ca013668eba9a9a9f71d60fe;hp=8cf5bafa287ff7ef4bd75b8dee42c2b925224288;hpb=2e0595dd8e344dbdcab740d7d2a3b67d153d6b39;p=pspp diff --git a/src/output.c b/src/output.c index 8cf5bafa28..c0c4e0b022 100644 --- a/src/output.c +++ b/src/output.c @@ -18,18 +18,19 @@ 02111-1307, USA. */ #include -#include +#include "output.h" +#include "error.h" #include #include #include #include #include "alloc.h" -#include "approx.h" +#include "devind.h" #include "error.h" #include "filename.h" +#include "htmlP.h" #include "lexer.h" #include "misc.h" -#include "output.h" #include "settings.h" #include "str.h" @@ -73,7 +74,7 @@ char *outp_subtitle; /* A set of OUTP_DEV_* bits indicating the devices that are disabled. */ -int disabled_devices; +static int disabled_devices; static void destroy_driver (struct outp_driver *); static void configure_driver (char *); @@ -194,7 +195,7 @@ expand_name (char *bp, char *ep) /* Looks for a macro with key KEY, and returns the corresponding value if found, or NULL if not. */ -const char * +static const char * find_defn_value (const char *key) { static char buf[INT_DIGITS + 1]; @@ -205,12 +206,12 @@ find_defn_value (const char *key) return d->value; if (!strcmp (key, "viewwidth")) { - sprintf (buf, "%d", set_viewwidth); + sprintf (buf, "%d", get_viewwidth()); return buf; } else if (!strcmp (key, "viewlength")) { - sprintf (buf, "%d", set_viewlength); + sprintf (buf, "%d", get_viewlength()); return buf; } else @@ -226,9 +227,8 @@ outp_init (void) extern struct outp_class postscript_class; extern struct outp_class epsf_class; #endif -#if !NO_HTML extern struct outp_class html_class; -#endif + extern struct outp_class devind_class; char def[] = "default"; @@ -239,6 +239,7 @@ outp_init (void) add_class (&epsf_class); add_class (&postscript_class); #endif + add_class (&devind_class); add_class (&ascii_class); add_name (def, &def[strlen (def)], OUTP_S_INIT_FILE); @@ -287,6 +288,8 @@ outp_read_devices (void) where.line_number = 0; err_push_file_locator (&where); + ds_init (NULL, &line, 128); + if (init_fn == NULL) { msg (IE, _("Cannot find output initialization file. Use `-vv' to view " @@ -302,7 +305,6 @@ outp_read_devices (void) goto exit; } - ds_init (NULL, &line, 128); for (;;) { char *cp; @@ -422,7 +424,7 @@ outp_configure_macro (char *bp) /* Destroys all the drivers in driver list *DL and sets *DL to NULL. */ -void +static void destroy_list (struct outp_driver ** dl) { struct outp_driver *d, *next; @@ -453,7 +455,7 @@ outp_done (void) void outp_list_classes (void) { - int width = set_viewwidth; + int width = get_viewwidth(); struct outp_driver_class_list *c; printf (_("Driver classes:\n\t")); @@ -463,7 +465,7 @@ outp_list_classes (void) if ((int) strlen (c->class->name) + 1 > width) { printf ("\n\t"); - width = set_viewwidth - 8; + width = get_viewwidth() - 8; } else putc (' ', stdout); @@ -586,6 +588,7 @@ tokener (void) break; default: msg (IS, _("Syntax error in string constant.")); + continue; } ds_putchar (&op_tokstr, (unsigned char) c); } @@ -956,7 +959,7 @@ outp_evaluate_dimension (char *dimen, char **tail) if (c <= 0.0 || ptail == s) goto lossage; s = ptail; - if (approx_eq (c, 0.0)) + if (c == 0.0) goto lossage; if (value > 0) value += b / c; @@ -968,7 +971,7 @@ outp_evaluate_dimension (char *dimen, char **tail) double b; s = &ptail[1]; b = strtod (s, &ptail); - if (approx_le (b, 0.0) || ptail == s) + if (b <= 0.0 || ptail == s) goto lossage; s = ptail; value /= b; @@ -1027,7 +1030,7 @@ outp_evaluate_dimension (char *dimen, char **tail) ptail += 2; value *= factor; } - if (approx_lt (value, 0.0)) + if (value <= 0.0) goto lossage; if (tail) *tail = ptail; @@ -1147,6 +1150,7 @@ outp_get_paper_size (char *size, int *h, int *v) where.filename = pprsz_fn; where.line_number = 0; err_push_file_locator (&where); + ds_init (NULL, &line, 128); if (pprsz_fn == NULL) { @@ -1162,7 +1166,6 @@ outp_get_paper_size (char *size, int *h, int *v) goto exit; } - ds_init (NULL, &line, 128); for (;;) { char *cp, *bp, *ep;