X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput.c;h=f318cb86d72bca8f948dab87728c90fc63cf4b0b;hb=ed7bce25787929340a3f264f00dde7c979e571a9;hp=64c1e8e8e780b9de4868b0add0067d9684ecd01b;hpb=f2828f801736701c0294803b5dedd4c4ab63b45e;p=pspp diff --git a/src/output.c b/src/output.c index 64c1e8e8e7..f318cb86d7 100644 --- a/src/output.c +++ b/src/output.c @@ -19,7 +19,7 @@ #include #include "output.h" -#include +#include "error.h" #include #include #include @@ -74,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 *); @@ -206,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 @@ -288,7 +288,7 @@ outp_read_devices (void) where.line_number = 0; err_push_file_locator (&where); - ds_init (NULL, &line, 128); + ds_init (&line, 128); if (init_fn == NULL) { @@ -315,7 +315,7 @@ outp_read_devices (void) msg (ME, _("Reading %s: %s."), init_fn, strerror (errno)); break; } - for (cp = ds_value (&line); isspace ((unsigned char) *cp); cp++); + for (cp = ds_c_str (&line); isspace ((unsigned char) *cp); cp++); if (!strncmp ("define", cp, 6) && isspace ((unsigned char) cp[6])) outp_configure_macro (&cp[7]); else if (*cp) @@ -442,12 +442,22 @@ destroy_list (struct outp_driver ** dl) int outp_done (void) { + struct outp_driver_class_list *n = outp_class_list ; #if GLOBAL_DEBUGGING if (iterating_driver_list) reentrancy (); #endif destroy_list (&outp_driver_list); + while (n) + { + struct outp_driver_class_list *next = n->next; + free(n); + n = next; + } + free (outp_title); + free (outp_subtitle); + return 1; } @@ -455,7 +465,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")); @@ -465,7 +475,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); @@ -511,7 +521,7 @@ tokener (void) while (*prog && *prog != quote) { if (*prog != '\\') - ds_putchar (&op_tokstr, *prog++); + ds_putc (&op_tokstr, *prog++); else { int c; @@ -590,14 +600,14 @@ tokener (void) msg (IS, _("Syntax error in string constant.")); continue; } - ds_putchar (&op_tokstr, (unsigned char) c); + ds_putc (&op_tokstr, (unsigned char) c); } } prog++; } else while (*prog && !isspace ((unsigned char) *prog) && *prog != '=') - ds_putchar (&op_tokstr, *prog++); + ds_putc (&op_tokstr, *prog++); op_token = 'a'; } @@ -612,7 +622,7 @@ parse_options (char *s, struct outp_driver * d) prog = s; op_token = -1; - ds_init (NULL, &op_tokstr, 64); + ds_init (&op_tokstr, 64); while (tokener ()) { char key[65]; @@ -624,7 +634,7 @@ parse_options (char *s, struct outp_driver * d) } ds_truncate (&op_tokstr, 64); - strcpy (key, ds_value (&op_tokstr)); + strcpy (key, ds_c_str (&op_tokstr)); tokener (); if (op_token != '=') @@ -1150,7 +1160,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); + ds_init (&line, 128); if (pprsz_fn == NULL) { @@ -1176,7 +1186,7 @@ outp_get_paper_size (char *size, int *h, int *v) msg (ME, _("Reading %s: %s."), pprsz_fn, strerror (errno)); break; } - for (cp = ds_value (&line); isspace ((unsigned char) *cp); cp++); + for (cp = ds_c_str (&line); isspace ((unsigned char) *cp); cp++); if (*cp == 0) continue; if (*cp != '"')