Remove devind output driver.
[pspp] / src / expressions / parse.c
index bc639cd8882b3bf07502029c3f1bf195789b32b8..b841953b7ea5125e3308975dab36efbda6d6d928 100644 (file)
@@ -86,6 +86,19 @@ expr_parse (struct dictionary *dict, enum expr_type type)
     }
 }
 
+/* Parses and returns an expression of the given TYPE, as
+   expr_parse(), and sets up so that destroying POOL will free
+   the expression as well. */
+struct expression *
+expr_parse_pool (struct pool *pool,
+                 struct dictionary *dict, enum expr_type type) 
+{
+  struct expression *e = expr_parse (dict, type);
+  if (e != NULL)
+    pool_add_subpool (pool, e->expr_pool);
+  return e;
+}
+
 /* Free expression E. */
 void
 expr_free (struct expression *e)
@@ -1158,8 +1171,8 @@ parse_function (struct expression *e)
         if (token == T_ID && lex_look_ahead () == 'T')
           {
             struct variable **vars;
-            int var_cnt;
-            int i;
+            size_t var_cnt;
+            size_t i;
 
             if (!parse_variables (default_dict, &vars, &var_cnt, PV_SINGLE))
               goto fail;