Handle MAP_SYSMIS case in RECODE, which was carelessly overlooked
authorBen Pfaff <blp@gnu.org>
Fri, 2 Feb 2007 00:52:38 +0000 (00:52 +0000)
committerBen Pfaff <blp@gnu.org>
Fri, 2 Feb 2007 00:52:38 +0000 (00:52 +0000)
until now.  Fixes bug #18917.  Thanks to John Darrington for bug
report and review.

src/language/xforms/ChangeLog
src/language/xforms/recode.c

index 8e099a969e06cc72b1375ea12908900857415c06..a095220540e071addf9bf5b8fe77b18685e02fdf 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb  1 16:51:16 2007  Ben Pfaff  <blp@gnu.org>
+
+       * recode.c (find_src_numeric): Handle MAP_SYSMIS case, which was
+       carelessly overlooked until now.  Fixes bug #18917.  Thanks to
+       John Darrington for bug report and review.
+
 Sat Dec  9 18:48:20 2006  Ben Pfaff  <blp@gnu.org>
 
        * compute.c (struct compute_trns): Remove `fv' member, which was
index 01f3bf765428038e9e964ee55e7ebe79c8b07fed..7af72efaff7370678816b84bab55eb198df08ddc 100644 (file)
@@ -559,6 +559,9 @@ find_src_numeric (struct recode_trns *trns, double value, struct variable *v)
         case MAP_RANGE:
           match = value >= in->x.f && value <= in->y.f;
           break;
+        case MAP_SYSMIS:
+          match = value == SYSMIS;
+          break;
         case MAP_ELSE:
           match = true;
           break;