X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fctables.c;h=fd296a00216e5165bcbe9427fc79cd99ccf71128;hb=69b31e124aff05df3492e6e6412c03c64e4e9d12;hp=2611bfebb3a53cbc21fb18e9ce9f546790b2c0e7;hpb=c8c6f68d798526347916230cae33aafb149dd044;p=pspp diff --git a/src/language/stats/ctables.c b/src/language/stats/ctables.c index 2611bfebb3..fd296a0021 100644 --- a/src/language/stats/ctables.c +++ b/src/language/stats/ctables.c @@ -5513,23 +5513,27 @@ ctables_execute (struct dataset *ds, struct casereader *input, } struct dictionary *dict = dataset_dict (ds); + + bool splitting = dict_get_split_type (dict) == SPLIT_SEPARATE; struct casegrouper *grouper - = (dict_get_split_type (dict) == SPLIT_SEPARATE + = (splitting ? casegrouper_create_splits (input, dict) : casegrouper_create_vars (input, NULL, 0)); struct casereader *group; while (casegrouper_get_next_group (grouper, &group)) { - /* Output SPLIT FILE variables. */ - struct ccase *c = casereader_peek (group, 0); - if (c != NULL) + if (splitting) { - output_split_file_values (ds, c); - case_unref (c); + struct ccase *c = casereader_peek (group, 0); + if (c != NULL) + { + output_split_file_values (ds, c); + case_unref (c); + } } bool warn_on_invalid = true; - for (c = casereader_read (group); c; + for (struct ccase *c = casereader_read (group); c; case_unref (c), c = casereader_read (group)) { double d_weight = dict_get_case_weight (dict, c, &warn_on_invalid);