Set the dictionary encoding of files created by the perl module.
[pspp-builds.git] / perl-module / PSPP.xs
index 36300cc806daa17d022c71d49473108f0834b5f2..fef855106de4347ba324e59434e2e4dd94941b54 100644 (file)
    02110-1301, USA. */
 
 
+#include <config.h>
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
 
-#include <config.h>
-
 #include "ppport.h"
 
 #include "minmax.h"
@@ -164,7 +164,11 @@ void
 onBoot (ver)
  const char *ver
 CODE:
- assert (0 == strcmp (ver, bare_version));
+ /* Check that the version is correct up to the length of 'ver'.
+    This allows PSPP autobuilders to add a "-build#" suffix to the
+    PSPP version without causing failures here. */
+ assert (0 == strncmp (ver, bare_version, strlen (ver)));
+
  i18n_init ();
  msg_init (NULL, message_handler);
  settings_init (0, 0);
@@ -580,6 +584,7 @@ CODE:
  struct file_handle *fh =
   fh_create_file (NULL, name, fh_default_properties () );
  struct sysfile_info *sfi = xmalloc (sizeof (*sfi));
+ dict_set_encoding (dict, "UTF-8");
  sfi->writer = sfm_open_writer (fh, dict, opts);
  sfi->dict = dict;
  sfi->opened = true;