From 860795de6147a69419492f56f7b90b1d69d7bdd8 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 5 Nov 2011 12:52:06 -0700 Subject: [PATCH] q2c: Use new subc_list_error() to report too many subcommands. This removes one string from q2c.c that needs translation but cannot currently be translated. --- src/language/lexer/q2c.c | 3 ++- src/language/lexer/subcommand-list.c | 17 ++++++++++++++--- src/language/lexer/subcommand-list.h | 4 +++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/language/lexer/q2c.c b/src/language/lexer/q2c.c index 5473e112..e38be02a 100644 --- a/src/language/lexer/q2c.c +++ b/src/language/lexer/q2c.c @@ -1745,7 +1745,8 @@ dump_subcommand (const subcommand *sbc) { dump (0, "if ( p->sbc_%s > MAXLISTS)",st_lower(sbc->name)); dump (1, "{"); - dump (0, "msg (SE, \"No more than %%d %s subcommands allowed\",MAXLISTS);",st_lower(sbc->name)); + dump (0, "subc_list_error (lexer, \"%s\", MAXLISTS);", + st_lower(sbc->name)); dump (0, "goto lossage;"); dump (-1,"}"); diff --git a/src/language/lexer/subcommand-list.c b/src/language/lexer/subcommand-list.c index 5cec533c..289179b2 100644 --- a/src/language/lexer/subcommand-list.c +++ b/src/language/lexer/subcommand-list.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,9 +16,13 @@ #include -#include "subcommand-list.h" +#include "language/lexer/subcommand-list.h" #include -#include "xalloc.h" +#include "language/lexer/lexer.h" +#include "gl/xalloc.h" + +#include "gettext.h" +#define _(msgid) gettext (msgid) /* I call these objects `lists' but they are in fact simple dynamic arrays */ @@ -107,3 +111,10 @@ subc_list_int_destroy(subc_list_int *l) { free(l->data); } + +void +subc_list_error (struct lexer *lexer, const char *sbc, int max_list) +{ + lex_error (lexer, _("No more than %d %s subcommands allowed."), + max_list, sbc); +} diff --git a/src/language/lexer/subcommand-list.h b/src/language/lexer/subcommand-list.h index 74c53da2..8d664f56 100644 --- a/src/language/lexer/subcommand-list.h +++ b/src/language/lexer/subcommand-list.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,6 +24,7 @@ It is intended for use by the command line parser for list subcommands */ +struct lexer; struct subc_list_double { double *data ; @@ -61,5 +62,6 @@ int subc_list_int_count(const subc_list_int *l); void subc_list_double_destroy(subc_list_double *l) ; void subc_list_int_destroy(subc_list_int *l) ; +void subc_list_error (struct lexer *, const char *sbc, int max_list); #endif -- 2.30.2