/* PSPPIRE - a graphical interface for PSPP.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
+#include <libpspp/cast.h>
#include <libpspp/getl.h>
-#include <libpspp/alloc.h>
#include <libpspp/compiler.h>
#include <libpspp/str.h>
#include "syntax-string-source.h"
+#include "xalloc.h"
+
struct syntax_string_source
{
struct getl_interface parent;
static void
do_close (struct getl_interface *i )
{
- struct syntax_string_source *sss = (struct syntax_string_source *) i;
+ struct syntax_string_source *sss = UP_CAST (i, struct syntax_string_source,
+ parent);
ds_destroy (&sss->buffer);
read_single_line (struct getl_interface *i,
struct string *line)
{
- struct syntax_string_source *sss = (struct syntax_string_source *) i;
+ struct syntax_string_source *sss = UP_CAST (i, struct syntax_string_source,
+ parent);
size_t next;
sss->parent.location = location;
- return (struct getl_interface *) sss;
+ return &sss->parent;
}
/* Return the syntax currently contained in S.