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