+Wed Jan 5 22:42:26 WST 2005 John Darrington <john@darrington.wattle.id.au>
+
+ * case.h Fixed bug # 11307
+
Wed Jan 5 08:30:48 WST 2005 John Darrington <john@darrington.wattle.id.au>
* val-labs.c Fixed bug which caused a crash if VALUE LABELS had
static inline void
case_to_values (const struct ccase *c, union value *output,
- size_t output_size UNUSED)
+ size_t output_size )
{
memcpy (output, c->case_data->values,
- c->case_data->value_cnt * sizeof *output);
+ output_size * sizeof *output);
}
static inline void
--- /dev/null
+#!/bin/sh
+
+# This program tests for a bug which caused a crash when
+# a large number of cases where presented.
+
+
+TEMPDIR=/tmp/pspp-tst-$$
+
+here=`pwd`;
+
+# ensure that top_srcdir is absolute
+cd $top_srcdir; top_srcdir=`pwd`
+
+export STAT_CONFIG_PATH=$top_srcdir/config
+
+
+cleanup()
+{
+ rm -rf $TEMPDIR
+}
+
+
+fail()
+{
+ echo $activity
+ echo FAILED
+ cleanup;
+ exit 1;
+}
+
+
+no_result()
+{
+ echo $activity
+ echo NO RESULT;
+ cleanup;
+ exit 2;
+}
+
+pass()
+{
+ cleanup;
+ exit 0;
+}
+
+mkdir -p $TEMPDIR
+
+cd $TEMPDIR
+
+activity="create program"
+cat > $TEMPDIR/foo.sps <<EOF
+INPUT PROGRAM.
+LOOP #I=1 TO 50000.
+COMPUTE X=NORMAL(10).
+END CASE.
+END LOOP.
+END FILE.
+END INPUT PROGRAM.
+
+
+EXAMINE /x
+/STATISTICS=DESCRIPTIVES.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/foo.sps > /dev/null
+if [ $? -ne 1 ] ; then fail ; fi
+
+pass;