+ /* Opportunity for optimisation exists here when creating a blank case */
+ val_cnt = datasheet_get_column_cnt (ds->case_file->datasheet) ;
+
+ case_create (&cc, val_cnt);
+
+ memset ( case_data_rw_idx (&cc, 0), 0, val_cnt * MAX_SHORT_STRING);
+
+ for (v = 0 ; v < psppire_dict_get_var_cnt (ds->dict) ; ++v)
+ {
+ const struct variable *pv = psppire_dict_get_variable (ds->dict, v);
+ if ( var_is_alpha (pv))
+ continue;
+
+ case_data_rw (&cc, pv)->f = SYSMIS;
+ }
+
+ result = psppire_case_file_insert_case (ds->case_file, &cc, posn);
+
+ case_destroy (&cc);
+
+ return result;
+}
+
+
+gchar *
+psppire_data_store_get_string (PsppireDataStore *store, gint row, gint column)
+{
+ gint idx;
+ char *text;