Destroy case source to fix memory leak.
[pspp-builds.git] / src / data / ChangeLog
1 Sat May  6 22:48:30 2006  Ben Pfaff  <blp@gnu.org>
2
3         * storage-stream.c (storage_source_decapsulate): Destroy case
4         source to fix memory leak.
5
6 Sat May  6 22:46:47 2006  Ben Pfaff  <blp@gnu.org>
7
8         * scratch-reader.c (scratch_reader_read_case): Copy into existing
9         case passed as argument instead of initializing the argument as a
10         case.  Fixes memory leak that showed up in
11         tests/command/aggregate.sh with scratch files.
12
13 Sat May  6 22:45:55 2006  Ben Pfaff  <blp@gnu.org>
14
15         * procedure.c (proc_done): Destroy default_dict, to fix memory
16         leak.
17
18 Sat May  6 22:44:44 2006  Ben Pfaff  <blp@gnu.org>
19
20         Simplify procedure_with_splits().
21         
22         * procedure.c (struct split_aux_data): Removed case_count member.
23         (procedure_with_splits) Don't initialize case_count.
24         (split_procedure_case_func) Check whether prev_case is null
25         instead of case_count.
26         (split_procedure_end_func) Ditto.
27
28 Sat May  6 22:42:23 2006  Ben Pfaff  <blp@gnu.org>
29
30         * case.c (case_move): Do nothing if dst and src are the same
31         object.
32         (case_try_create) Merge two similar cases.
33         (case_copy) Unshare only if data must be actually copied.
34
35 Sun May  7 10:04:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
36
37         * data-in.c data-out.c dictionary.c sys-file-reader.c
38         sys-file-writer.c variable.c variable.h:  Reworked very long string
39         support for better encapsulation.
40
41 Sat May  6 19:02:00 2006  Ben Pfaff  <blp@gnu.org>
42
43         * value-labels.c (val_labs_can_set_width): New function.
44         (val_labs_set_width) Clear labels if increasing width to long
45         string.
46         (val_labs_destroy) Remove unneeded test for null.
47         
48 Sat May  6 16:14:08 2006  Ben Pfaff  <blp@gnu.org>
49
50         * value-labels.h: Remove unneeded dependency on variable.h.
51
52 Sat May  6 15:58:36 2006  Ben Pfaff  <blp@gnu.org>
53
54         Get rid of `char *c' member in union value, for cleanliness.
55         
56         * value.h: (union value) Remove `c' member.
57
58 Sat May  6 15:36:59 2006  Ben Pfaff  <blp@gnu.org>
59
60         Make dictionary compacting functions a little more general.
61         
62         * sys-file-writer.c (sfm_open_writer): Use
63         dict_compacting_would_change().
64         (does_dict_need_translation) Removed.
65
66 Sat May  6 15:35:42 2006  Ben Pfaff  <blp@gnu.org>
67
68         Make dictionary compacting functions a little more general.
69         
70         * dictionary.c (dict_needs_compaction): Rename
71         dict_compacting_would_shrink().  Update all callers.
72         (dict_compacting_would_change) New function.
73         
74 Sat May  6 14:25:49 2006  Ben Pfaff  <blp@gnu.org>
75
76         * sys-file-writer.c: (does_dict_need_translation) Fix bug:
77         inverted return value (!).
78
79 Sat May  6 13:37:52 2006  Ben Pfaff  <blp@gnu.org>
80
81         Continue reforming procedure execution.  
82
83         * procedure.c: Search and replace "vfm" by "proc".  Notably:
84         (static var vfm_source) Rename proc_source.  Update all
85         references.
86         (static var vfm_sink) Rename proc_sink.  Update all references.
87         
88 Sat May  6 12:38:55 2006  Ben Pfaff  <blp@gnu.org>
89
90         Continue reforming procedure execution.  In this phase, remove
91         PROCESS IF, which was deprecated anyway and can be easily
92         simulated with TEMPORARY followed by SELECT IF.
93
94         * procedure.c: (open_active_file) Don't call
95         add_process_if_trns().
96         (discard_variables) Get rid of redundant call to
97         proc_cancel_all_transformations().
98         (add_process_if_trns) Removed.
99         (process_if_trns_proc) Removed.
100         (process_if_trns_free) Removed.
101
102 Sat May  6 10:58:05 2006  Ben Pfaff  <blp@gnu.org>
103
104         Continue reforming procedure execution.  In this phase, add
105         `const' to the case passed to procedure()'s callback.
106
107         Updated all users of procedure() as well.
108         
109         * procedure.c: (struct write_case_data) Add "const" to ccase
110         parameter for case_func member.
111         (procedure) Add "const" to ccase parameter for proc_func
112         parameter.
113         (multipass_case_func) Make ccase parameter const.
114         (internal_procedure) Add "const" to ccase parameter for case_func
115         parameter.
116         (split_procedure_case_func) Make ccase parameter const.
117         (multipass_split_case_func) Make ccase parameter const.
118         
119 Sat May  6 10:30:33 2006  Ben Pfaff  <blp@gnu.org>
120
121         Continue reforming procedure execution.  In this phase, get rid of
122         the output code for SPLIT FILE groups in procedure.c, which really
123         shouldn't be doing any output.  Move it into the individual
124         procedures instead.  This also adds some flexibility.
125
126         Updated many users of procedure_with_splits() and
127         multipass_procedure_with_splits() to call
128         output_split_file_values() and to deal with increased use of
129         const.
130
131         * procedure.c: (struct split_aux_data) Add "const struct ccase *"
132         parameter to begin_func member.
133         (procedure_with_splits) Add "const struct ccase *" parameter to
134         begin_func parameter.  Make ccase parameter const in proc_func
135         parameter.
136         (split_procedure_case_func) Don't dump split file group.  Pass
137         case to begin_func.
138         (dump_splits) Moved to language/dictionary/split-file.c as
139         output_split_file_values().
140         (struct multipass_split_aux_data) Add "const struct ccase *"
141         parameter to split_func member.
142         (multipass_procedure_with_splits) Add "const struct ccase *"
143         parameter to split_func parameter.
144         (multipass_split_case_func) Save new SPLIT FILE case before
145         outputting case.
146         (multipass_split_output) Pass saved SPLIT FILE case to split_func.
147         
148 Fri May  5 22:48:50 2006  Ben Pfaff  <blp@gnu.org>
149
150         Continue reforming procedure execution.  Change
151         internal_procedure() so that it calls open_active_file() and
152         close_active_file(), which isolates most of the actual procedure
153         functionality.
154
155         * procedure.c: (struct write_case_data) Rename `proc_func' member
156         to `case_func' and update all references.
157         (procedure) Rewrite as one-line wrapper around
158         internal_procedure().
159         (struct multipass_aux_data) New.
160         (multipass_callback) Renamed multipass_case_func().  Use struct
161         multipass_aux_data as auxiliary data.
162         (multipass_end_func) New function.
163         (multipass_procedure) Rewrite as wrapper for internal_procedure()
164         that uses multipass_case_func, multipass_end_func.
165         (internal_procedure) Add `end_func' argument.  Move optimization
166         of trivial case in here.  Move call to open_active_file() and
167         close_active_file() in here.  Now assert that vfm_source is
168         non-null.
169         (procedure_with_splits_callback) Rename
170         split_procedure_case_func().
171         (split_procedure_end_func) New function.
172         (multipass_split_callback) Rename multipass_split_case_func.
173         (multipass_split_end_func) New function.
174         (discard_variables) No need to test for nonnull vfm_source.
175
176 Fri May  5 21:34:02 2006  Ben Pfaff  <blp@gnu.org>
177
178         Continue reforming procedure execution.  Get rid of unused member.
179
180         * procedure.c: (struct write_case_data) Remove `cases_analyzed'
181         member.
182         (write_case) Don't increment cases_analyzed.
183
184 Thu May  4 21:50:11 2006  Ben Pfaff  <blp@gnu.org>
185
186         Continue reforming procedure execution.  In this phase, move
187         procedure.c and procedure.h from src to src/data.  Update
188         makefiles and #includes accordingly.
189
190         * procedure.c: Moved here from src/.
191
192         * procedure.h: Moved here from src/.
193
194 Wed May  3 22:42:12 2006  Ben Pfaff  <blp@gnu.org>
195
196         Continue reforming procedure execution.  In this phase, get rid of
197         many global variables, consolidating procedure execution in
198         procedure.c.  Encapsulate transformations in new "struct
199         trns_chain".  Also, change implementation of N OF CASES, FILTER,
200         and PROCESS IF from special cases to transformations.
201          
202         * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c,
203         transformations.h.
204
205         * dictionary.c: (global variable default_dict) Move to
206         src/procedure.c.
207
208         * variable.h: (TRNS_*) Move to transformations.h.
209         (struct transformation) Move to transformations.c.
210
211 Thu May  4 13:47:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
212
213         * sys-file-reader.c: Fixed invalid read problems.
214
215 Tue May  2 15:57:10 2006  Ben Pfaff  <blp@gnu.org>
216
217         * storage-stream.c: Add missing function comments.
218
219 Tue May  2 15:50:21 2006  Ben Pfaff  <blp@gnu.org>
220
221         Continue reforming procedure execution.  In this phase, add some
222         new, needed functionality to storage-stream.
223
224         * storage-stream.c: (storage_source_decapsulate) New function.
225
226 Tue May  2 15:43:36 2006  Ben Pfaff  <blp@gnu.org>
227
228         * variable.c (width_to_bytes): Declarations must precede
229         statements for C90 compliance.
230
231 Tue May  2 10:42:05 WST 2006 John Darrington <john@darrington.wattle.id.au>
232
233         * data-out.c, data-in.c, variable.c, variable.h: New functions 
234         copy_mangle and copy_demangle for reading/writing cases; emulates the 
235         way SPSS deals with strings > 255 bytes.
236
237         * sys-file-reader.c sys-file-writer.c: Added support for Record 7, 
238         subtype 14 needed for strings longer than 255 bytes.
239
240         * dictionary.c, format.def, value.c : Updated to use MAX_STRING 
241         instead of literal values. Also fixed some constness issues.
242
243         * format.h: Constness
244
245         * sfm-private.h: Renamed the case_size identifier, since I discovered 
246         that SPSS's respect for this variable is very nominal.
247
248 Mon May  1 15:45:42 2006  Ben Pfaff  <blp@gnu.org>
249
250         Change case limit type from int to size_t.
251
252         * dictionary.c: (struct dictionary) Change type of case_limit
253         member.
254         (dict_get_case_limit) Change return type.
255         (dict_set_case_limit) Change parameter type.
256
257 Wed Apr 26 20:01:19 2006  Ben Pfaff  <blp@gnu.org>
258
259         * variable.h: (struct variable) Rename `reinit' member as `leave'
260         and invert sense.  Fix up all references.
261
262 Wed Apr 26 19:39:28 2006  Ben Pfaff  <blp@gnu.org>
263
264         Continue reforming procedure execution.  In this phase, break
265         procedure.c into multiple files.
266         
267         * automake.mk: (src_data_libdata_a_SOURCES) Add all the new files.
268
269         * case-sink.c: New file.
270
271         * case-sink.h: New file.
272         
273         * case-source.c: New file.
274
275         * case-source.h: New file.
276         
277         * storage-stream.c: New file.
278
279         * storage-stream.h: New file.
280
281 Wed Apr 26 14:55:19 2006  Ben Pfaff  <blp@gnu.org>
282
283         * variable.h: (struct variable) Remove `init' member and all
284         references to it from other files.  It was initialized in several
285         places, but nothing really ever used it for anything worthwhile.
286         Thanks to Jason Stover for pointing out how confusing this
287         member is.
288
289 Sun Apr 23 22:04:45 2006  Ben Pfaff  <blp@gnu.org>
290
291         Continue reforming error message support.  In this phase, get rid
292         of message "titles" and put the message text in `struct error'.
293         Now `struct error' encapsulates a message more properly.
294         
295         * casefile.c: (io_error) Use err_msg() instead of err_vmsg().
296         Format message ourselves.
297
298         * data-in.c: (vdls_error) Ditto.
299
300         * por-file-reader.c: (error) Ditto.
301
302         * sys-file-reader.c: (corrupt_msg) Ditto.
303
304 Sun Apr 16 18:49:51 2006  Ben Pfaff  <blp@gnu.org>
305
306         GNU standards require "file name" instead of "filename" in
307         documentation.  It's nice for our code to follow the convention
308         too.
309         
310         * casefile.c: (struct casefile) Rename `filename' member to
311         `file_name'.  Updated all references.
312
313         * file-name.c: [!unix] (struct file_identity) Rename
314         normalized_filename member to normalized_file_name.  Updated all
315         references.
316
317 Sun Apr 16 18:35:33 2006  Ben Pfaff  <blp@gnu.org>
318
319         We don't really support anything but Unix-like environments well,
320         so we might as well de-obfuscate by writing directory and path
321         separators explicitly.
322
323         * file-name.h: (macro DIR_SEPARATOR) Removed.  Changed all usages
324         to just '/'.
325         (macro PATH_SEPARATOR) Removed.  Changed all usages to just ':'.
326         (macro DIR_SEPARATOR_STRING) Removed.  Changed all usages to just
327         "/".
328         (macro PATH_SEPARATOR_STRING) Removed.  Changed all usages to just
329         ":"
330
331 Sun Apr 16 18:28:35 2006  Ben Pfaff  <blp@gnu.org>
332
333         GNU standards require "file name" instead of "filename" in
334         documentation.  It's nice for our code to follow the convention
335         too.
336         
337         * filename.c: Rename to file-name.c.
338
339         * filename.h: Rename to file-name.h.  Update all inclusions.
340         Update header guards.
341
342         * automake.mk: Update file names.
343
344 Sun Apr 16 16:42:47 2006  Ben Pfaff  <blp@gnu.org>
345
346         * filename.c: (fn_dirname) Renamed fn_dir_name(), all references
347         updated.
348         (fn_basename) Removed (dead code).
349         (fn_absolute_p) Renamed fn_is_absolute(), all references updated.
350         (fn_special_p) Renamed fn_is_special(), all references updated.
351         (fn_exists_p) Renamed fn_exists(), all references updated.
352
353 Sun Apr 16 16:33:58 2006  Ben Pfaff  <blp@gnu.org>
354
355         * filename.c: (fn_tilde_expand) Rewrite for cleaner code.  
356         Also, now it only tilde-expands file names, not paths.
357         (fn_search_path) Tilde-expand one directory at a time.
358
359 Sun Apr 16 16:28:06 2006  Ben Pfaff  <blp@gnu.org>
360
361         * filename.c: (fn_search_path) rewrite for cleaner code.  Also,
362         get rid of non-Unixlike version of the code, which has probably
363         never been tested.
364         (fn_prepend_dir) Removed (dead code).
365
366         * filename.h: (macro DIR_SEPARATOR_STRING) New.
367         (macro PATH_SEPARATOR_STRING) New.
368 Sun Apr 16 16:05:28 2006  Ben Pfaff  <blp@gnu.org>
369
370         Continue reforming error message support.  In this phase, we get
371         rid of VM() and the other msg() support for "verbosity", replacing
372         it by a new function verbose_msg().
373
374         * filename.c: (fn_search_path) Use verbose_msg() instead of
375         msg(VM(), ...).  
376
377 Sat Apr 15 19:53:19 2006  Ben Pfaff  <blp@gnu.org>
378
379         * sfm-private.h: Get rid of #defines after #error, which makes no
380         sense.
381
382 Sat Apr 15 19:48:57 2006  Ben Pfaff  <blp@gnu.org>
383
384         Get rid of our own int32 type in favor of the standard int32_t
385         type.
386         
387         * sfm-private.h: (int32 macro) Don't define this anymore.  Do
388         include <stdint.h>.
389
390         * sys-file-reader.c: Use int32_t instead of int32 throughout.
391         
392         * sys-file-writer.c: Use int32_t instead of int32 throughout.
393
394 Sat Apr 15 19:36:47 2006  Ben Pfaff  <blp@gnu.org>
395
396         Remove ill-considered file routines that are no longer used.
397         
398         * filename.c: (fn_open_ext) Removed.
399         (fn_close_ext) Removed.
400
401         * filename.h: (struct file_ext) Removed.
402
403 Mon Apr  3 13:22:39 2006  Ben Pfaff  <blp@gnu.org>
404
405         * variable.c (var_is_valid_name): Move declarations before code
406         for C90 compliance.
407
408 Tue Apr  4 15:28:40 WST 2006 John Darrington <john@darrington.wattle.id.au>
409
410         * filename.ch (fn_interp_vars): Fixed small buglet.
411
412 Tue Mar 28 13:47:16 WST 2006 John Darrington <john@darrington.wattle.id.au>
413         
414         * filename.[ch] (fn_interp_vars): Changed the signature and semantics
415         so as to modify the string inline.   Thus makeing it easier to
416         destroy the results when no longer needed.
417         
418 2006-03-25  Jason Stover  <jhs@math.gcsu.edu>
419
420         * category.c (cat_stored_values_destroy): Fixed memory leak.
421
422 Fri Mar 24 18:15:41 2006  Ben Pfaff  <blp@gnu.org>
423
424         Add some missing frees.  Thanks to John Darrington for reporting
425         these.
426
427         * any-writer.c (any_writer_close): Free writer.
428
429         * any-reader.c (any_reader_close): Free reader.
430
431 Mon Mar 20 16:33:53 2006  Ben Pfaff  <blp@gnu.org>
432
433         * por-file-reader.c: (error) Mark as NO_RETURN.
434
435 Sat Mar 11 15:06:07 WST 2006 John Darrington <john@darrington.wattle.id.au>
436
437         * settings.c: Changed default value of scompress to true.
438
439 Sat Mar  4 13:22:51 2006  Ben Pfaff  <blp@gnu.org>
440
441         * sfm-private.h: Include variable.h, to get SHORT_NAME_LEN.
442
443         * value.h: Remove check on MAX_SHORT_STRING, which I don't think
444         really applies.
445
446         * variable.h: Move definition of SHORT_NAME_LEN, LONG_NAME_LEN
447         here from pref.h.orig.
448
449 Sat Mar  4 12:50:48 WST 2006 John Darrington <john@darrington.wattle.id.au>
450
451         * sys-file-reader.c: Fixed bug reading compressed files.
452
453 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
454
455         * Numerous renames.  See src/ChangeLog for details.
456         
457         * Moved files from src directory