projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dictionary: Limit split file variables to 8, for compatibility.
[pspp]
/
src
/
language
/
xforms
/
select-if.c
diff --git
a/src/language/xforms/select-if.c
b/src/language/xforms/select-if.c
index 9df4eba5e3a2c603b10ba59b17d58431f4991e69..deb13047e9fd7fcc49a18629e3ccb32d4417ebea 100644
(file)
--- a/
src/language/xforms/select-if.c
+++ b/
src/language/xforms/select-if.c
@@
-18,8
+18,8
@@
#include <stdlib.h>
#include <stdlib.h>
+#include "data/dataset.h"
#include "data/dictionary.h"
#include "data/dictionary.h"
-#include "data/procedure.h"
#include "data/transformations.h"
#include "data/variable.h"
#include "language/command.h"
#include "data/transformations.h"
#include "data/variable.h"
#include "language/command.h"
@@
-40,8
+40,7
@@
struct select_if_trns
struct expression *e; /* Test expression. */
};
struct expression *e; /* Test expression. */
};
-static trns_proc_func select_if_proc;
-static trns_free_func select_if_free;
+static const struct trns_class select_if_trns_class;
/* Parses the SELECT IF transformation. */
int
/* Parses the SELECT IF transformation. */
int
@@
-50,7
+49,7
@@
cmd_select_if (struct lexer *lexer, struct dataset *ds)
struct expression *e;
struct select_if_trns *t;
struct expression *e;
struct select_if_trns *t;
- e = expr_parse
(lexer, ds, EXPR_BOOLEAN
);
+ e = expr_parse
_bool (lexer, ds
);
if (!e)
return CMD_CASCADING_FAILURE;
if (!e)
return CMD_CASCADING_FAILURE;
@@
-63,13
+62,13
@@
cmd_select_if (struct lexer *lexer, struct dataset *ds)
t = xmalloc (sizeof *t);
t->e = e;
t = xmalloc (sizeof *t);
t->e = e;
- add_transformation (ds,
select_if_proc, select_if_free
, t);
+ add_transformation (ds,
&select_if_trns_class
, t);
return CMD_SUCCESS;
}
/* Performs the SELECT IF transformation T on case C. */
return CMD_SUCCESS;
}
/* Performs the SELECT IF transformation T on case C. */
-static
in
t
+static
enum trns_resul
t
select_if_proc (void *t_, struct ccase **c,
casenumber case_num)
{
select_if_proc (void *t_, struct ccase **c,
casenumber case_num)
{
@@
-88,6
+87,12
@@
select_if_free (void *t_)
return true;
}
return true;
}
+static const struct trns_class select_if_trns_class = {
+ .name = "SELECT IF",
+ .execute = select_if_proc,
+ .destroy = select_if_free,
+};
+
/* Parses the FILTER command. */
int
cmd_filter (struct lexer *lexer, struct dataset *ds)
/* Parses the FILTER command. */
int
cmd_filter (struct lexer *lexer, struct dataset *ds)