#include "libpspp/i18n.h"
#include "libpspp/message.h"
#include "libpspp/str.h"
-#include "output/group-item.h"
+#include "output/driver.h"
+#include "output/output-item.h"
#include "xmalloca.h"
struct dataset *ds, enum cmd_state state)
{
const struct command *command = NULL;
+ size_t nesting_level = SIZE_MAX;
enum cmd_result result;
- bool opened = false;
int n_tokens;
/* Read the command's first token. */
result = CMD_FAILURE;
goto finish;
}
- group_open_item_submit (group_open_item_create_nocopy (
- utf8_to_title (command->name)));
- opened = true;
+
+ nesting_level = output_open_group (group_item_create_nocopy (
+ utf8_to_title (command->name),
+ utf8_to_title (command->name)));
if (command->function == NULL)
{
while (lex_token (lexer) == T_ENDCMD)
lex_get (lexer);
- if (opened)
- group_close_item_submit (group_close_item_create ());
+ if (nesting_level != SIZE_MAX)
+ output_close_groups (nesting_level);
return result;
}
int
cmd_n_of_cases (struct lexer *lexer, struct dataset *ds)
{
- /* Value for N. */
- int x;
-
- if (!lex_force_int (lexer))
+ if (!lex_force_int_range (lexer, "N OF CASES", 1, LONG_MAX))
return CMD_FAILURE;
- x = lex_integer (lexer);
+ long n = lex_integer (lexer);
lex_get (lexer);
if (!lex_match_id (lexer, "ESTIMATED"))
- dict_set_case_limit (dataset_dict (ds), x);
+ dict_set_case_limit (dataset_dict (ds), n);
return CMD_SUCCESS;
}