[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] Changes to pspp/src/vars-prs.c
From: |
Ben Pfaff |
Subject: |
[Pspp-cvs] Changes to pspp/src/vars-prs.c |
Date: |
Fri, 04 Nov 2005 22:45:43 -0500 |
Index: pspp/src/vars-prs.c
diff -u pspp/src/vars-prs.c:1.22 pspp/src/vars-prs.c:1.23
--- pspp/src/vars-prs.c:1.22 Wed Oct 26 05:06:14 2005
+++ pspp/src/vars-prs.c Sat Nov 5 03:45:28 2005
@@ -29,6 +29,7 @@
#include "hash.h"
#include "lexer.h"
#include "misc.h"
+#include "pool.h"
#include "size_max.h"
#include "str.h"
@@ -508,12 +509,33 @@
fail:
for (i = 0; i < *nnames; i++)
- free ((*names)[*nnames]);
- free (names);
+ free ((*names)[i]);
+ free (*names);
*names = NULL;
*nnames = 0;
return 0;
}
+
+/* Parses a list of variables where some of the variables may be
+ existing and the rest are to be created. Same args as
+ parse_DATA_LIST_vars(), except that all allocations are taken
+ from the given POOL. */
+int
+parse_mixed_vars_pool (struct pool *pool,
+ char ***names, size_t *nnames, int pv_opts)
+{
+ int retval = parse_mixed_vars (names, nnames, pv_opts);
+ if (retval)
+ {
+ size_t i;
+
+ for (i = 0; i < *nnames; i++)
+ pool_register (pool, free, (*names)[i]);
+ pool_register (pool, free, *names);
+ }
+ return retval;
+}
+
/* A set of variables. */
struct var_set
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] Changes to pspp/src/vars-prs.c,
Ben Pfaff <=