rs = pool_calloc (rank.pool, 1, sizeof *rs);
rs->rfunc = RANK;
- rs->dest_names = pool_calloc (rank.pool, 1, sizeof *rs->dest_names);
- rs->dest_labels = pool_calloc (rank.pool, 1, sizeof *rs->dest_labels);
+ rs->dest_names = pool_calloc (rank.pool, rank.n_vars,
+ sizeof *rs->dest_names);
rank.rs = rs;
rank.n_rs = 1;
])
AT_CLEANUP
+# This checks for regression against a crash reported as bug #38482
+# that occurred when multiple variables were specified without any
+# rank specifications.
+AT_SETUP([RANK multiple variables with defaults])
+AT_DATA([rank.sps], [dnl
+DATA LIST LIST NOTABLE /x * y * z *.
+BEGIN DATA.
+ 1.00 2.00 3.00
+ 4.00 5.00 6.00
+END DATA.
+
+RANK ALL.
+
+LIST.
+])
+AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Variables Created By RANK
+
+
+
+x into Rx(RANK of x)
+
+y into Ry(RANK of y)
+
+z into Rz(RANK of z)
+
+Table: Data List
+x,y,z,Rx,Ry,Rz
+1.00,2.00,3.00,1.000,1.000,1.000
+4.00,5.00,6.00,2.000,2.000,2.000
+])
+AT_CLEANUP
+
AT_SETUP([RANK with RANK, RFRACTION, N])
AT_DATA([rank.sps], [dnl
DATA LIST LIST NOTABLE /a * b *.