Reform string library.
[pspp-builds.git] / src / data / por-file-reader.c
index c4fec4b0ed72d30a2608c9b6af49340d35d40384..fa3af602dc4a7d1bb30914c739d45455fdf32b94 100644 (file)
@@ -47,8 +47,6 @@
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
-#include <libpspp/debug-print.h>
-
 /* portable_to_local[PORTABLE] translates the given portable
    character into the local character set. */
 static const char portable_to_local[256] =
@@ -87,23 +85,25 @@ error (struct pfm_reader *r, const char *msg,...)
 static void
 error (struct pfm_reader *r, const char *msg, ...)
 {
-  struct error e;
-  const char *filename;
-  char *title;
+  struct msg m;
+  struct string text;
   va_list args;
 
-  e.class = ME;
-  e.where.filename = NULL;
-  e.where.line_number = 0;
-  filename = fh_get_filename (r->fh);
-  e.title = title = pool_alloc (r->pool, strlen (filename) + 80);
-  sprintf (title, _("portable file %s corrupt at offset %ld: "),
-           filename, ftell (r->file));
-
+  ds_init_empty (&text);
+  ds_put_format (&text, _("portable file %s corrupt at offset %ld: "),
+                 fh_get_file_name (r->fh), ftell (r->file));
   va_start (args, msg);
-  err_vmsg (&e, msg, args);
+  ds_put_vformat (&text, msg, args);
   va_end (args);
 
+  m.category = MSG_GENERAL;
+  m.severity = MSG_ERROR;
+  m.where.file_name = NULL;
+  m.where.line_number = 0;
+  m.text = ds_cstr (&text);
+  
+  msg_emit (&m);
+
   r->ok = false;
 
   longjmp (r->bail_out, 1);
@@ -174,7 +174,7 @@ pfm_open_reader (struct file_handle *fh, struct dictionary **dict,
   if (setjmp (r->bail_out))
     goto error;
   r->fh = fh;
-  r->file = pool_fopen (r->pool, fh_get_filename (r->fh), "rb");
+  r->file = pool_fopen (r->pool, fh_get_file_name (r->fh), "rb");
   r->weight_index = -1;
   r->trans = NULL;
   r->var_cnt = 0;
@@ -187,7 +187,7 @@ pfm_open_reader (struct file_handle *fh, struct dictionary **dict,
     {
       msg (ME, _("An error occurred while opening \"%s\" for reading "
                  "as a portable file: %s."),
-           fh_get_filename (r->fh), strerror (errno));
+           fh_get_file_name (r->fh), strerror (errno));
       goto error;
     }
   
@@ -405,7 +405,7 @@ read_header (struct pfm_reader *r)
   for (i = 0; i < 8; i++) 
     if (!match (r, "SPSSPORT"[i])) 
       {
-        msg (SE, _("%s: Not a portable file."), fh_get_filename (r->fh));
+        msg (SE, _("%s: Not a portable file."), fh_get_file_name (r->fh));
         longjmp (r->bail_out, 1);
       }
 }