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., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#include <config.h>
#include <stdlib.h>
#include "alloc.h"
#include "command.h"
+#include "dictionary.h"
#include "error.h"
#include "lexer.h"
#include "str.h"
int
cmd_split_file (void)
{
- lex_match_id ("SPLIT");
- lex_match_id ("FILE");
-
if (lex_match_id ("OFF"))
- {
- default_dict.n_splits = 0;
- free (default_dict.splits);
- default_dict.splits = NULL;
- }
+ dict_set_split_vars (default_dict, NULL, 0);
else
{
struct variable **v;
int n;
+ /* For now, ignore SEPARATE and LAYERED. */
+ lex_match_id ("SEPARATE") || lex_match_id ("LAYERED");
+
lex_match (T_BY);
- if (!parse_variables (NULL, &v, &n, PV_NO_DUPLICATE))
+ if (!parse_variables (default_dict, &v, &n, PV_NO_DUPLICATE))
return CMD_FAILURE;
- default_dict.n_splits = n;
- default_dict.splits = v = xrealloc (v, sizeof *v * (n + 1));
- v[n] = NULL;
+ dict_set_split_vars (default_dict, v, n);
+ free (v);
}
return lex_end_of_command ();