projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change type of variables whose addresses are passed to dict_get_vars()
[pspp]
/
src
/
count.c
diff --git
a/src/count.c
b/src/count.c
index a6e70616460cf7ce40583c0f858e5801095d75a7..90275084a6e5848f1ef01f31ea411a938168bb48 100644
(file)
--- a/
src/count.c
+++ b/
src/count.c
@@
-14,8
+14,8
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street, Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
#include <config.h>
#include "error.h"
#include <config.h>
#include "error.h"
@@
-23,11
+23,15
@@
#include "alloc.h"
#include "case.h"
#include "command.h"
#include "alloc.h"
#include "case.h"
#include "command.h"
+#include "dictionary.h"
#include "error.h"
#include "lexer.h"
#include "str.h"
#include "var.h"
#include "error.h"
#include "lexer.h"
#include "str.h"
#include "var.h"
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
/* Implementation details:
The S?SS manuals do not specify the order that COUNT subcommands are
/* Implementation details:
The S?SS manuals do not specify the order that COUNT subcommands are
@@
-107,7
+111,7
@@
struct cnt_var_info
struct cnt_var_info *next;
struct variable *d; /* Destination variable. */
struct cnt_var_info *next;
struct variable *d; /* Destination variable. */
- char n[
9];
/* Name of dest var. */
+ char n[
LONG_NAME_LEN + 1];
/* Name of dest var. */
struct counting *c; /* The counting specifications. */
};
struct counting *c; /* The counting specifications. */
};
@@
-144,7
+148,7
@@
cmd_count (void)
cnt->d = NULL;
cnt->c = NULL;
cnt->d = NULL;
cnt->c = NULL;
- /* Get destination
struct
variable, or at least its name. */
+ /* Get destination variable, or at least its name. */
if (!lex_force_id ())
goto fail;
cnt->d = dict_lookup_var (default_dict, tokid);
if (!lex_force_id ())
goto fail;
cnt->d = dict_lookup_var (default_dict, tokid);
@@
-157,7
+161,7
@@
cmd_count (void)
}
}
else
}
}
else
- str
cpy (
cnt->n, tokid);
+ str
_copy_trunc (cnt->n, sizeof
cnt->n, tokid);
lex_get ();
if (!lex_force_match ('='))
lex_get ();
if (!lex_force_match ('='))
@@
-243,13
+247,13
@@
parse_numeric_criteria (struct counting * c)
}
cur = &c->crit.n[n++];
}
cur = &c->crit.n[n++];
- if (
token == T_NUM
)
+ if (
lex_is_number ()
)
{
cur->a = tokval;
lex_get ();
if (lex_match_id ("THRU"))
{
{
cur->a = tokval;
lex_get ();
if (lex_match_id ("THRU"))
{
- if (
token == T_NUM
)
+ if (
lex_is_number ()
)
{
if (!lex_force_num ())
return 0;
{
if (!lex_force_num ())
return 0;
@@
-281,7
+285,7
@@
parse_numeric_criteria (struct counting * c)
{
if (!lex_force_match_id ("THRU"))
return 0;
{
if (!lex_force_match_id ("THRU"))
return 0;
- if (
token == T_NUM
)
+ if (
lex_is_number ()
)
{
cur->type = CNT_LOW;
cur->a = tokval;
{
cur->type = CNT_LOW;
cur->a = tokval;
@@
-348,7
+352,7
@@
parse_string_criteria (struct counting * c)
cur = &c->crit.s[n++];
cur->type = CNT_SINGLE;
cur->s = malloc (len + 1);
cur = &c->crit.s[n++];
cur->type = CNT_SINGLE;
cur->s = malloc (len + 1);
- st
_pad_copy (cur->s, ds_c_str (&tokstr), len + 1
);
+ st
r_copy_rpad (cur->s, len + 1, ds_c_str (&tokstr)
);
lex_get ();
lex_match (',');
lex_get ();
lex_match (',');
@@
-381,7
+385,7
@@
count_numeric (struct counting * cnt, struct ccase * c)
counter++;
continue;
}
counter++;
continue;
}
- if (cnt->missing >= 2 &&
is_num_user_missing (cmp, cnt->v[i]
))
+ if (cnt->missing >= 2 &&
mv_is_num_user_missing (&cnt->v[i]->miss, cmp
))
{
counter++;
continue;
{
counter++;
continue;