[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp/src data/ChangeLog data/casereader-transla...
From: |
Ben Pfaff |
Subject: |
[Pspp-cvs] pspp/src data/ChangeLog data/casereader-transla... |
Date: |
Wed, 12 Sep 2007 13:43:50 +0000 |
CVSROOT: /cvsroot/pspp
Module name: pspp
Changes by: Ben Pfaff <blp> 07/09/12 13:43:50
Modified files:
src/data : ChangeLog casereader-translator.c casereader.h
casewriter-translator.c casewriter.h
src/language/data-io: ChangeLog get.c
Log message:
* casereader-translator.c (struct casereader_translator): Change
input case parameter of translate member function from const
struct ccase * to struct ccase *.
(casereader_create_translator): Ditto, for translate parameter.
* casewriter-translator.c (struct casewriter_translator): Ditto.
(casewriter_create_translator): Ditto.
* get.c (get_translate_case): Change input case parameter from
const struct ccase * to struct ccase *, to match change in
casereader and casewriter translators. Destroy input case, to fix
memory leak.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/ChangeLog?cvsroot=pspp&r1=1.155&r2=1.156
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casereader-translator.c?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casereader.h?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casewriter-translator.c?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casewriter.h?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/data-io/ChangeLog?cvsroot=pspp&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/data-io/get.c?cvsroot=pspp&r1=1.41&r2=1.42
Patches:
Index: data/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/ChangeLog,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -b -r1.155 -r1.156
--- data/ChangeLog 27 Aug 2007 00:06:23 -0000 1.155
+++ data/ChangeLog 12 Sep 2007 13:43:49 -0000 1.156
@@ -1,3 +1,16 @@
+2007-09-12 Ben Pfaff <address@hidden>
+
+ Make it clear that translator casereader and casewriter translate
+ functions are supposed to destroy their input case.
+
+ * casereader-translator.c (struct casereader_translator): Change
+ input case parameter of translate member function from const
+ struct ccase * to struct ccase *.
+ (casereader_create_translator): Ditto, for translate parameter.
+
+ * casewriter-translator.c (struct casewriter_translator): Ditto.
+ (casewriter_create_translator): Ditto.
+
2007-08-27 John Darrinton <address@hidden>
* sys-file-reader.c (read_display_parameters): Force display width
@@ -32,7 +45,7 @@
dict_make_compactor.
(scratch_writer_casewriter_write): Use case_map_execute instead of
dict_compactor_compact.
-o
+
2007-08-12 Ben Pfaff <address@hidden>
* automake.mk: Add case-map.c, case-map.h.
Index: data/casereader-translator.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/casereader-translator.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- data/casereader-translator.c 7 Jul 2007 06:14:07 -0000 1.5
+++ data/casereader-translator.c 12 Sep 2007 13:43:49 -0000 1.6
@@ -33,8 +33,7 @@
{
struct casereader *subreader; /* Source of input cases. */
- void (*translate) (const struct ccase *input, struct ccase *output,
- void *aux);
+ void (*translate) (struct ccase *input, struct ccase *output, void *aux);
bool (*destroy) (void *aux);
void *aux;
};
@@ -56,7 +55,7 @@
struct casereader *
casereader_create_translator (struct casereader *subreader,
size_t output_value_cnt,
- void (*translate) (const struct ccase *input,
+ void (*translate) (struct ccase *input,
struct ccase *output,
void *aux),
bool (*destroy) (void *aux),
Index: data/casereader.h
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/casereader.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- data/casereader.h 7 Jul 2007 06:14:07 -0000 1.4
+++ data/casereader.h 12 Sep 2007 13:43:50 -0000 1.5
@@ -105,7 +105,7 @@
struct casereader *
casereader_create_translator (struct casereader *, size_t output_value_cnt,
- void (*translate) (const struct ccase *input,
+ void (*translate) (struct ccase *input,
struct ccase *output,
void *aux),
bool (*destroy) (void *aux),
Index: data/casewriter-translator.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/casewriter-translator.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- data/casewriter-translator.c 13 Aug 2007 00:41:35 -0000 1.5
+++ data/casewriter-translator.c 12 Sep 2007 13:43:50 -0000 1.6
@@ -29,18 +29,29 @@
{
struct casewriter *subwriter;
- void (*translate) (const struct ccase *input, struct ccase *output,
- void *aux);
+ void (*translate) (struct ccase *input, struct ccase *output, void *aux);
bool (*destroy) (void *aux);
void *aux;
};
static struct casewriter_class casewriter_translator_class;
+/* Creates and returns a new casewriter whose cases are passed
+ through TRANSLATE, which must create case OUTPUT, with
+ OUTPUT_VALUE_CNT values, and populate it based on INPUT and
+ auxiliary data AUX. The translated cases are then written to
+ SUBWRITER. TRANSLATE must also destroy INPUT.
+
+ When the translating casewriter is destroyed, DESTROY will be
+ called to allow any state maintained by TRANSLATE to be freed.
+
+ After this function is called, SUBWRITER must not ever again
+ be referenced directly. It will be destroyed automatically
+ when the translating casewriter is destroyed. */
struct casewriter *
casewriter_create_translator (struct casewriter *subwriter,
size_t translated_value_cnt,
- void (*translate) (const struct ccase *input,
+ void (*translate) (struct ccase *input,
struct ccase *output,
void *aux),
bool (*destroy) (void *aux),
Index: data/casewriter.h
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/casewriter.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- data/casewriter.h 13 Aug 2007 00:41:35 -0000 1.5
+++ data/casewriter.h 12 Sep 2007 13:43:50 -0000 1.6
@@ -43,7 +43,7 @@
struct casewriter *
casewriter_create_translator (struct casewriter *, size_t translated_value_cnt,
- void (*translate) (const struct ccase *input,
+ void (*translate) (struct ccase *input,
struct ccase *output,
void *aux),
bool (*destroy) (void *aux),
Index: language/data-io/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/data-io/ChangeLog,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- language/data-io/ChangeLog 13 Aug 2007 04:23:29 -0000 1.45
+++ language/data-io/ChangeLog 12 Sep 2007 13:43:50 -0000 1.46
@@ -1,3 +1,10 @@
+2007-09-12 Ben Pfaff <address@hidden>
+
+ * get.c (get_translate_case): Change input case parameter from
+ const struct ccase * to struct ccase *, to match change in
+ casereader and casewriter translators. Destroy input case, to fix
+ memory leak.
+
2007-08-12 Ben Pfaff <address@hidden>
* get.c (parse_read_command): Compact the values in the target
Index: language/data-io/get.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/data-io/get.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- language/data-io/get.c 13 Aug 2007 04:23:29 -0000 1.41
+++ language/data-io/get.c 12 Sep 2007 13:43:50 -0000 1.42
@@ -60,8 +60,7 @@
IMPORT_CMD
};
-static void get_translate_case (const struct ccase *, struct ccase *,
- void *map_);
+static void get_translate_case (struct ccase *, struct ccase *, void *map_);
static bool get_destroy_case_map (void *map_);
/* Parses a GET or IMPORT command. */
@@ -143,11 +142,12 @@
}
static void
-get_translate_case (const struct ccase *input, struct ccase *output,
+get_translate_case (struct ccase *input, struct ccase *output,
void *map_)
{
struct case_map *map = map_;
case_map_execute (map, input, output);
+ case_destroy (input);
}
static bool
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp/src data/ChangeLog data/casereader-transla...,
Ben Pfaff <=