X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Foutput.c;h=368b37b050703fabd9c47281d721548e14b506e4;hb=a7fb79e81f6e2a0dfddc61e91f207609e31a4632;hp=c9545761761efc15a5dc705212915e4066946491;hpb=16654f0914e14edd82500c3040d8e8958794788e;p=pspp diff --git a/src/output/output.c b/src/output/output.c index c954576176..368b37b050 100644 --- a/src/output/output.c +++ b/src/output/output.c @@ -1,6 +1,5 @@ /* PSPP - computes sample statistics. Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. - Written by Ben Pfaff . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -70,12 +69,12 @@ static struct outp_names *outp_configure_vec; /* A list of driver classes. */ struct outp_driver_class_list { - struct outp_class *class; + const struct outp_class *class; struct outp_driver_class_list *next; }; -struct outp_driver_class_list *outp_class_list; -struct outp_driver *outp_driver_list; +static struct outp_driver_class_list *outp_class_list; +static struct outp_driver *outp_driver_list; char *outp_title; char *outp_subtitle; @@ -91,7 +90,7 @@ static void configure_driver (const struct substring, const struct substring, /* Add a class to the class list. */ static void -add_class (struct outp_class *class) +add_class (const struct outp_class *class) { struct outp_driver_class_list *new_list = xmalloc (sizeof *new_list); @@ -227,7 +226,6 @@ outp_init (void) { extern struct outp_class ascii_class; extern struct outp_class postscript_class; - extern struct outp_class html_class; char def[] = "default"; @@ -279,9 +277,8 @@ outp_read_devices (void) init_fn = fn_search_path (fn_getenv_default ("STAT_OUTPUT_INIT_FILE", "devices"), fn_getenv_default ("STAT_OUTPUT_INIT_PATH", - config_path), - NULL); - + config_path)); + ds_init_empty (&line); if (init_fn == NULL) @@ -797,7 +794,7 @@ destroy_driver (struct outp_driver *d) code and stores subcategory in *SUBCAT on success. Returns -1 on failure. */ int -outp_match_keyword (const char *s, struct outp_option *tab, int *subcat) +outp_match_keyword (const char *s, const struct outp_option *tab, int *subcat) { for (; tab->keyword != NULL; tab++) if (!strcmp (s, tab->keyword)) @@ -927,9 +924,9 @@ lossage: /* Stores the dimensions in 1/72000" units of paper identified by SIZE, which is of form `HORZ x VERT' or `HORZ by VERT' where each - of HORZ and VERT are dimensions, into *H and *V. Return nonzero on + of HORZ and VERT are dimensions, into *H and *V. Return true on success. */ -static int +static bool internal_get_paper_size (char *size, int *h, int *v) { char *tail; @@ -938,7 +935,7 @@ internal_get_paper_size (char *size, int *h, int *v) size++; *h = outp_evaluate_dimension (size, &tail); if (tail == NULL) - return 0; + return false; while (isspace ((unsigned char) *tail)) tail++; if (*tail == 'x') @@ -948,7 +945,7 @@ internal_get_paper_size (char *size, int *h, int *v) else { error (0, 0, _("`x' expected in paper size `%s'"), size); - return 0; + return false; } *v = outp_evaluate_dimension (tail, &tail); if (tail == NULL) @@ -958,19 +955,19 @@ internal_get_paper_size (char *size, int *h, int *v) if (*tail) { error (0, 0, _("trailing garbage `%s' on paper size `%s'"), tail, size); - return 0; + return false; } - return 1; + return true; } /* Stores the dimensions, in 1/72000" units, of paper identified by SIZE into *H and *V. SIZE may be a pair of dimensions of form `H x V', or it may be a case-insensitive paper identifier, which is - looked up in the `papersize' configuration file. Returns nonzero + looked up in the `papersize' configuration file. Returns true on success. May modify SIZE. */ /* Don't read further unless you've got a strong stomach. */ -int +bool outp_get_paper_size (char *size, int *h, int *v) { struct paper_size @@ -987,7 +984,7 @@ outp_get_paper_size (char *size, int *h, int *v) int line_number = 0; bool free_it = false; - int result = 0; + bool result = false; char *ep; while (isspace ((unsigned char) *size)) @@ -1012,9 +1009,8 @@ outp_get_paper_size (char *size, int *h, int *v) pprsz_fn = fn_search_path (fn_getenv_default ("STAT_OUTPUT_PAPERSIZE_FILE", "papersize"), fn_getenv_default ("STAT_OUTPUT_INIT_PATH", - config_path), - NULL); - + config_path)); + ds_init_empty (&line); if (pprsz_fn == NULL)