Fixed bug writing portable files.
authorJohn Darrington <john@darrington.wattle.id.au>
Tue, 31 Mar 2009 05:07:03 +0000 (13:07 +0800)
committerJohn Darrington <john@darrington.wattle.id.au>
Tue, 31 Mar 2009 05:07:03 +0000 (13:07 +0800)
Don't append slash to sysmis values when writing portable
files.  Fixes bug #26034

src/data/por-file-writer.c
tests/command/import-export.sh

index 8a27f6b785ccc548d5a14436cfe221ee7476d3e6..a50563ab964275df30365263005dbd1ded5262c9 100644 (file)
@@ -215,7 +215,8 @@ write_float (struct pfm_writer *w, double d)
   char buffer[64];
   format_trig_double (d, floor (d) == d ? DBL_DIG : w->digits, buffer);
   buf_write (w, buffer, strlen (buffer));
-  buf_write (w, "/", 1);
+  if (d != SYSMIS)
+    buf_write (w, "/", 1);
 }
 
 /* Write N to the portable file as an integer field. */
index f0c2b5c4793b481e1504f8786315a4ecea30e2e9..0cb178bf5776ade7e26ac28b5218f2eefd18e70f 100755 (executable)
@@ -61,7 +61,7 @@ cat > $TESTFILE <<EOF
 DATA LIST LIST NOTABLE /X Y.
 BEGIN DATA.
 1 2
-3 4
+3 .
 5 6
 END DATA.
 
@@ -83,7 +83,7 @@ diff -b  $TEMPDIR/pspp.list - << EOF
        X        Y
 -------- --------
     1.00     2.00 
-    3.00     4.00 
+    3.00     .
     5.00     6.00 
 EOF
 if [ $? -ne 0 ] ; then fail ; fi