Reduce platform dependence.
[pspp-builds.git] / src / output / html.c
index b79deb45fac95c23c8ea33d543101f7c4fb84fbd..d71ba0c20d20efbee687c69af769909d405a29a1 100644 (file)
@@ -1,6 +1,5 @@
 /* PSPP - computes sample statistics.
    Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
-   Written by Ben Pfaff <blp@gnu.org>.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -27,6 +26,7 @@
 #include <unistd.h>
 
 #include <libpspp/alloc.h>
+#include <libpspp/assertion.h>
 #include <libpspp/compiler.h>
 #include <data/file-name.h>
 #include "error.h"
@@ -86,10 +86,12 @@ html_open_driver (struct outp_driver *this, struct substring options)
   fputs (" LINK=\"#1f00ff\" ALINK=\"#ff0000\" VLINK=\"#9900dd\">\n", x->file);
   print_title_tag (x->file, "H1", outp_title);
   print_title_tag (x->file, "H2", outp_subtitle);
+  free (x->chart_file_name); 
 
   return true;
 
  error:
+  free (x->chart_file_name); 
   this->class->close_driver (this);
   return false;
 }
@@ -146,7 +148,7 @@ enum
   };
 
 /* All the options that the HTML driver supports. */
-static struct outp_option option_tab[] =
+static const struct outp_option option_tab[] =
   {
     {"output-file",            string_arg,     0},
     {"chart-files",            string_arg,     1},
@@ -183,11 +185,11 @@ handle_option (struct outp_driver *this,
           error (0, 0, _("`chart-files' value must contain `#'"));
           break;
         default:
-          abort ();
+          NOT_REACHED ();
         }
       break;
     default:
-      abort ();
+      NOT_REACHED ();
     }
   
   return true;
@@ -212,7 +214,7 @@ html_submit (struct outp_driver *this, struct som_entity *s)
       link_image (x->file, ((struct chart *)s->ext)->file_name);
       break;
     default:
-      abort ();
+      NOT_REACHED ();
     }
 }
 
@@ -358,7 +360,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t)
 }
 
 static void
-html_initialise_chart (struct outp_driver *this, struct chart *ch)
+html_initialise_chart (struct outp_driver *this UNUSED, struct chart *ch)
 {
 #ifdef NO_CHARTS
   ch->lp = NULL;
@@ -373,7 +375,7 @@ html_initialise_chart (struct outp_driver *this, struct chart *ch)
   number_pos = strchr (x->chart_file_name, '#') - x->chart_file_name;
   ch->file_name = xasprintf ("%.*s%d%s",
                              number_pos, x->chart_file_name,
-                             x->chart_cnt,
+                             (int) x->chart_cnt,
                              x->chart_file_name + number_pos + 1);
   fp = fopen (ch->file_name, "wb");
   if (fp == NULL) 
@@ -398,7 +400,7 @@ html_finalise_chart(struct outp_driver *d UNUSED, struct chart *ch)
 
 
 /* HTML driver class. */
-struct outp_class html_class =
+const struct outp_class html_class =
   {
     "html",
     1,