Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
-
+#include <config.h>
#include <string.h>
#include <stdlib.h>
{
PsppireCaseFile *cf = g_object_new (G_TYPE_PSPPIRE_CASE_FILE, NULL);
- cf->flexifile = flexifile_create(val_cnt);
+ cf->flexifile = flexifile_create (val_cnt);
return cf;
}
return result;
}
-/* Insert a blank case to the case file */
+/* Insert case CC into the case file before POSN */
gboolean
psppire_case_file_insert_case(PsppireCaseFile *cf,
- gint posn)
+ struct ccase *cc,
+ gint posn)
{
bool result ;
- struct ccase cc;
g_return_val_if_fail(cf, FALSE);
g_return_val_if_fail(cf->flexifile, FALSE);
- case_create (&cc, casefile_get_value_cnt(cf->flexifile));
-
- result = flexifile_insert_case(FLEXIFILE(cf->flexifile), &cc, posn);
+ result = flexifile_insert_case(FLEXIFILE(cf->flexifile), cc, posn);
- case_destroy (&cc);
-
if ( result )
g_signal_emit(cf, signal[CASE_INSERTED], 0, posn);
else
return result;
}
+
/* Append a case to the case file */
gboolean
psppire_case_file_append_case(PsppireCaseFile *cf,
/* Set the IDXth value of case C using D_IN */
gboolean
psppire_case_file_data_in(PsppireCaseFile *cf, gint casenum, gint idx,
- struct data_in *d_in)
+ struct substring input, const struct fmt_spec *fmt)
{
struct ccase cc ;
return FALSE;
/* Cast away const in flagrant abuse of the casefile */
- d_in->v = (union value *) case_data(&cc, idx);
-
- if ( ! data_in(d_in) )
+ if (!data_in (input, fmt->type, 0, 0,
+ (union value *) case_data(&cc, idx), fmt_var_width (fmt)))
g_warning("Cant set value\n");
g_signal_emit(cf, signal[CASE_CHANGED], 0, casenum);
struct ccase cc;
gint c;
struct casefile *cfile;
- struct casereader *reader = casefile_get_reader(cf->flexifile);
+ struct casereader *reader = casefile_get_reader (cf->flexifile, NULL);
const int value_cnt = casefile_get_value_cnt(cf->flexifile);
cfile = sort_execute(reader, sc);
/* Resize the cases in the casefile, by inserting N_VALUES into every
one of them. */
gboolean
-psppire_case_file_insert_values(PsppireCaseFile *cf,
- gint n_values, gint before)
+psppire_case_file_insert_values (PsppireCaseFile *cf,
+ gint n_values, gint before)
{
g_return_val_if_fail(cf, FALSE);
return TRUE;
}
- return flexifile_resize(FLEXIFILE(cf->flexifile), n_values, before);
+ return flexifile_resize (FLEXIFILE(cf->flexifile), n_values, before);
}
-
-
-
/* Fills C with the CASENUMth case.
Returns true on success, false otherwise.
*/
gboolean
-psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum,
+psppire_case_file_get_case (const PsppireCaseFile *cf, gint casenum,
struct ccase *c)
{
- g_return_val_if_fail(cf, FALSE);
- g_return_val_if_fail(cf->flexifile, FALSE);
+ g_return_val_if_fail (cf, FALSE);
+ g_return_val_if_fail (cf->flexifile, FALSE);
- return flexifile_get_case(FLEXIFILE(cf->flexifile), casenum, c);
+ return flexifile_get_case (FLEXIFILE(cf->flexifile), casenum, c);
}