Changed all the licence notices in all the files.
[pspp] / src / output.c
index c0c4e0b022339f4e1f1a978b611dca96d00925ad..1409316a0ce68041344940ecb2b630b3fb7ace33 100644 (file)
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
 
 #include <config.h>
 #include "output.h"
@@ -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;
 }
 
@@ -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 != '"')