pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/language/data-io ChangeLog get.c


From: Ben Pfaff
Subject: [Pspp-cvs] pspp/src/language/data-io ChangeLog get.c
Date: Sat, 06 May 2006 20:53:25 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Branch:         
Changes by:     Ben Pfaff <address@hidden>      06/05/06 20:53:25

Modified files:
        src/language/data-io: ChangeLog get.c 

Log message:
        Use a casefile, instead of a case sink, for MATCH FILES output.
        It's more straightforward, although it has the same effect.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/data-io/ChangeLog.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/data-io/get.c.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: pspp/src/language/data-io/ChangeLog
diff -u pspp/src/language/data-io/ChangeLog:1.15 
pspp/src/language/data-io/ChangeLog:1.16
--- pspp/src/language/data-io/ChangeLog:1.15    Sat May  6 17:46:52 2006
+++ pspp/src/language/data-io/ChangeLog Sat May  6 20:53:25 2006
@@ -1,3 +1,13 @@
+Sat May  6 13:51:16 2006  Ben Pfaff  <address@hidden>
+
+       Use a casefile, instead of a case sink, for MATCH FILES output.
+       It's more straightforward, although it has the same effect.
+       
+       * get.c: (struct mtf_proc) Replace `sink' case sink member by
+       `output' casefile member.
+       (cmd_match_files) Work with casefile instead of sink.
+       (mtf_processing) Add case to casefile instead of sink.
+
 Sat May  6 10:43:07 2006  Ben Pfaff  <address@hidden>
 
        Continue reforming procedure execution.  In this phase, get rid of
Index: pspp/src/language/data-io/get.c
diff -u pspp/src/language/data-io/get.c:1.9 pspp/src/language/data-io/get.c:1.10
--- pspp/src/language/data-io/get.c:1.9 Sat May  6 18:01:13 2006
+++ pspp/src/language/data-io/get.c     Sat May  6 20:53:25 2006
@@ -26,6 +26,7 @@
 #include <data/case-sink.h>
 #include <data/case-source.h>
 #include <data/case.h>
+#include <data/casefile.h>
 #include <data/dictionary.h>
 #include <data/por-file-writer.h>
 #include <data/procedure.h>
@@ -779,7 +780,7 @@
     char first[LONG_NAME_LEN + 1], last[LONG_NAME_LEN + 1];
     
     struct dictionary *dict;    /* Dictionary of output file. */
-    struct case_sink *sink;     /* Sink to receive output. */
+    struct casefile *output;    /* MATCH FILES output. */
     struct ccase mtf_case;      /* Case used for output. */
 
     unsigned seq_num;           /* Have we initialized this variable? */
@@ -819,7 +820,7 @@
   mtf.first[0] = '\0';
   mtf.last[0] = '\0';
   mtf.dict = dict_create ();
-  mtf.sink = NULL;
+  mtf.output = NULL;
   case_nullify (&mtf.mtf_case);
   mtf.seq_num = 0;
   mtf.seq_nums = NULL;
@@ -1121,10 +1122,7 @@
     discard_variables ();
 
   dict_compact_values (mtf.dict);
-  mtf.sink = create_case_sink (&storage_sink_class, mtf.dict, NULL);
-  if (mtf.sink->class->open != NULL)
-    mtf.sink->class->open (mtf.sink);
-
+  mtf.output = casefile_create (dict_get_next_value_idx (mtf.dict));
   mtf.seq_nums = xcalloc (dict_get_var_cnt (mtf.dict), sizeof *mtf.seq_nums);
   case_create (&mtf.mtf_case, dict_get_next_value_idx (mtf.dict));
 
@@ -1143,8 +1141,8 @@
 
   default_dict = mtf.dict;
   mtf.dict = NULL;
-  proc_set_source (mtf.sink->class->make_source (mtf.sink));
-  free_case_sink (mtf.sink);
+  proc_set_source (storage_source_create (mtf.output));
+  mtf.output = NULL;
   
   if (!mtf_free (&mtf))
     ok = false;
@@ -1467,7 +1465,7 @@
        }
 
       /* 5. Write the output record. */
-      mtf->sink->class->write (mtf->sink, &mtf->mtf_case);
+      casefile_append (mtf->output, &mtf->mtf_case);
 
       /* 6. Read another record from each input file FILE and TABLE
         that we stored values from above.  If we come to the end of




reply via email to

[Prev in Thread] Current Thread [Next in Thread]