Memory leak patrol and minor cleanups.
[pspp-builds.git] / src / data / ChangeLog
1 Sat Dec  9 07:18:03 WST 2006 John Darrington <john@darrington.wattle.id.au>
2
3         * value-labels.c (destroy_atoms): New function.
4         * value-labels.c (atom_create): Call destroy_atoms in atexit handler.
5
6 Thu Dec  7 17:38:26 2006  Ben Pfaff  <blp@gnu.org>
7
8         Thanks to Jason Stover for pointing out this problem.
9         
10         * data-out.c (output_number): Use gsl_finite from GSL, which is
11         portable, instead of isfinite, which is not.
12         (power256) Ditto.
13
14 Thu Dec  7 15:22:38 WST 2006 John Darrington <john@darrington.wattle.id.au>
15
16         * variable.c variable.h (value_dup): New function.
17
18 Mon Dec  4 22:20:17 2006  Ben Pfaff  <blp@gnu.org>
19
20         Start converting struct variable to an opaque.  In this phase, we
21         add a bunch of setter and getter functions and convert most of the
22         PSPP code to use them.  The resulting changes are pervasive but
23         mostly trivial, and only the notable changes are logged.
24         
25         * format.c (fmt_equal): New function.
26         
27         * variable.c (var_type_is_valid): New function.
28         (measure_is_valid) Moved here, from format.c.
29         (alignment_is_valid) Moved here, from format.c.
30         (var_get_name) New function.
31         (var_set_name) New function.
32         (width_to_type) New function.
33         (var_get_type) New function.
34         (var_get_width) New function.
35         (var_set_width) New function.
36         (var_is_numeric) New function.
37         (var_is_alpha) New function.
38         (var_is_short_string) New function.
39         (var_is_long_string) New function.
40         (var_is_very_long_string) New function.
41         (var_get_missing_values) New function.
42         (var_set_missing_values) New function.
43         (var_clear_missing_values) New function.
44         (var_has_missing_values) New function.
45         (var_is_value_missing) New function.
46         (var_is_num_missing) New function.
47         (var_is_str_missing) New function.
48         (var_is_value_user_missing) New function.
49         (var_is_num_user_missing) New function.
50         (var_is_str_user_missing) New function.
51         (var_is_value_system_missing) New function.
52         (var_get_print_format) New function.
53         (var_set_print_format) New function.
54         (var_get_write_format) New function.
55         (var_set_write_format) New function.
56         (var_set_both_formats) New function.
57         (var_get_label) New function.
58         (var_set_label) New function.
59         (var_clear_label) New function.
60         (var_has_label) New function.
61         (var_get_measure) New function.
62         (var_set_measure) New function.
63         (var_get_display_width) New function.
64         (var_set_display_width) New function.
65         (var_get_alignment) New function.
66         (var_set_alignment) New function.
67         (var_get_value_cnt) New function.
68         (var_get_leave) New function.
69         (var_get_short_name) New function.
70
71         * variable.h: (struct variable) Removed "type" and "nv" members;
72         they are now computed from "width" where needed.
73
74 Mon Dec  4 21:38:40 2006  Ben Pfaff  <blp@gnu.org>
75
76         * missing-values.c (mv_resize): Don't write beyond end of the
77         allocated buffer when resizing a long string.
78
79 Sat Dec  2 16:28:32 2006  Ben Pfaff  <blp@gnu.org>
80
81         Clean up identifier code: don't require identifier enumerations to
82         be in a particular order; make better use of string library;
83         expose less of the internals.
84                 
85         * identifier.c: (lex_skip_identifier) Rename lex_id_get_length,
86         change interface.  Updated all callers.
87         (lex_id_match) Change interface to use struct substring, update
88         all callers.
89         (lex_id_match_len) Removed.  Update callers to use lex_id_match.
90         (global array keywords[]) Make static, change form.  Update all
91         users to use lex_id_name instead.
92         (lex_is_keyword) New function.
93         (lex_id_to_token) Change interface to use struct substring, update
94         all callers.
95         (lex_id_name) New function.
96
97         * identifier.h: (T_FIRST_KEYWORD) Removed.  Changed users to call
98         lex_is_keyword instead.
99         (T_LAST_KEYWORD) Removed.
100         (T_N_KEYWORDS) Removed.
101         
102 Sat Nov 18 20:46:35 2006  Ben Pfaff  <blp@gnu.org>
103
104         * format.c: (fmt_date_template) Distinguish characters for which a
105         space is output and any date delimiter is allowed on input, from
106         those for which a space is output and only a space is allowed on
107         input.  The former is represented by X, the latter by a space.
108         Also, drop distinction between h and H, changing the former to the
109         latter.
110
111         * data-in.c: Completely rewrite internals to conform to SPSS input
112         formats as closely as possible.
113         (data_in) Changed external interface by replacing the structure
114         that was used as a single argument by a set of arguments.  Updated
115         all callers.
116         (data_in_finite_line) Removed.  Converted all callers to use plain
117         data_in.
118         (data_in_get_integer_format) New function.
119         (data_in_set_integer_format) New function.
120         (data_in_get_float_format) New function.
121         (data_in_set_float_format) New function.
122
123         * data-in.h: (enums DI_IGNORE_ERROR, DI_IMPLIED_DECIMALS) Removed.
124         (struct data_in) Removed.
125
126         * data-out.c: (output_date) Drop each component from the input as
127         it is output, to allow us to drop the distinction between h (a
128         count of hours) and H (the hour of day) template characters.
129         Also, handle new X template character.
130         (output_scientific) Follow more rational rule on when to drop
131         fraction introduced between SPSS 13 and 15.  Updated test case to
132         match new behavior.
133
134 Sat Nov 11 11:41:26 2006  Ben Pfaff  <blp@gnu.org>
135
136         Fix buffer overflow reported by John Darrington.
137
138         * data-out.c (output_bcd_integer): In case of SYSMIS, etc.,
139         realize that DIGITS is a count of nibbles, not of bytes.
140
141 Sat Nov  4 15:59:56 2006  Ben Pfaff  <blp@gnu.org>
142
143         * calendar.c (calendar_offset_to_gregorian) Also return the
144         year-of-day.  Change callers to new interface.
145
146         * data-out.c: Completely rewrite internals to conform to SPSS
147         output formats as completely as possible.
148         (data_out) Change interface to put input parameters before output
149         parameters, for consistency with the style I now prefer.  Update
150         all callers.
151         (data_out_get_integer_format) New public function.
152         (data_out_set_integer_format) New public function.
153         (data_out_get_float_format) New public function.
154         (data_out_set_float_format) New public function.
155
156         * data-out.h: New file.  Move prototype for data_out here, from
157         format.h.
158
159         * format.c: (fmt_step_width) Use equality comparison instead of
160         bitwise and, for clarity.
161         (fmt_is_string) Ditto.
162         (fmt_input_to_output) Fix categories that are translated to F
163         format.
164
165 Sun Nov  5 08:29:34 WST 2006 John Darrington <john@darrington.wattle.id.au>
166
167         * casefilter.c casefilter.h (new files), casefile.c casefile.h 
168         casefile-private.h: Added casefilter to assist commands with missing 
169         values.
170
171 Sat Nov  4 11:47:09 2006  Ben Pfaff  <blp@gnu.org>
172
173         Implement SET ERRORS, SHOW ERRORS.  Fixes bug #17609.
174         
175         * settings.c: (route_errors_to_terminal) New variable.
176         (route_errors_to_listing) New variable. 
177         (get_error_routing_to_terminal) New function.
178         (set_error_routing_to_terminal) New function.
179         (get_error_routing_to_listing) New function.
180         (set_error_routing_to_listing) New function.
181
182         * settings.h: (SET_ROUTE_* enums) Removed, because unused.
183
184 Tue Oct 31 19:58:27 2006  Ben Pfaff  <blp@gnu.org>
185
186         * format.c: Completely rewrite, to achieve better abstraction.
187         Rewrite all references to formats in other files.
188         
189         * format.def: Rewrite and reorganize.
190
191         * settings.c: Move everything related to custom currency formats
192         into format.[ch], changing them in form, so as to group related
193         code and definitions better.  Changed all references to use the
194         new functions.
195         (static var decimal) Removed.
196         (static var grouping) Removed.
197         (static var cc) Removed.
198         (get_decimal) Removed.
199         (set_decimal) Removed.
200         (get_grouping) Removed.
201         (set_grouping) Removed.
202         (get_cc) Removed.
203         (set_cc) Removed.
204
205         * settings.h: (macro CC_CNT) Removed.
206         (macro CC_WIDTH) Removed.
207         (struct custom_currency) Removed.
208
209 Tue Oct 31 19:56:19 2006  Ben Pfaff  <blp@gnu.org>
210
211         * data-in.c (data_in): Use switch statement instead of table, to
212         avoid dependence on the order of the FMT_* enums.
213
214 Tue Oct 31 19:35:36 2006  Ben Pfaff  <blp@gnu.org>
215
216         * data-out.c: (num_to_string) Removed, because it was dead code.
217
218 Tue Oct 31 18:09:24 2006  Ben Pfaff  <blp@gnu.org>
219
220         * data-in.c (parse_trailer): Fix error message.
221
222 Sat Oct 28 11:56:50 2006  Ben Pfaff  <blp@gnu.org>
223
224         * format.c (fmt_is_binary): New function.
225
226 Thu Oct 19 22:59:56 WST 2006 John Darrington <john@darrington.wattle.id.au>
227
228         * procedure.c procedure.h: Encapsulated the static data into a single
229         struct.  
230
231 Sat Oct 14 16:56:44 2006  Ben Pfaff  <blp@gnu.org>
232
233         * casefile.c (casereader_read_xfer): Always initialize the case,
234         even on an error condition.
235
236 Wed Sep 27 09:37:49 WST 2006 John Darrington <john@darrington.wattle.id.au>
237
238         * procedure.c (case_limit_trns_proc): Fixed buglet which rendered the 
239         entire function useless.
240
241 Mon Sep 25 17:11:46 WST 2006 John Darrington <john@darrington.wattle.id.au>
242
243         * casefile-private.h casefile.c casefile.h fastfile.c: Created new
244         casereader method casereader_clone.   
245         
246         * procedure.c pransformations.h: Introduced new type casenum_t
247
248 Thu Sep 21 07:00:30 2006  Ben Pfaff  <blp@gnu.org>
249
250         * variable.c: (width_to_bytes) Rephrase code for clarify.
251
252 Sun Jul 16 19:52:03 2006  Ben Pfaff  <blp@gnu.org>
253
254         * format.c: (fmt_type_from_string) New function.
255         (fmt_to_string) Include decimals in output if the format has
256         decimals, even if the format type does not.  This way, we can
257         accurately reproduce incorrect formats in user output.
258         (check_common_specifier) Make the check for a bad format type an
259         assertion, so we get bug reports if they show up.  Fix message.
260         Check for decimal places with a format type that doesn't allow
261         them.
262         (check_input_specifier) Remove check for FMT_X, which has been
263         deleted.
264         (check_output_specifier) Ditto. 
265
266         * format.def: Remove FMT_T, FMT_X, FMT_DESCEND, FMT_NEWREC.
267
268         * format.h: (macro FMT_TYPE_LEN_MAX) New macro.
269         (struct fmt_desc) Use FMT_TYPE_LEN_MAX in definition.
270         (enum fmt_parse_flags) Removed.
271
272 Mon Jul 17 18:26:21 WST 2006 John Darrington <john@darrington.wattle.id.au>
273
274         * casefile.c casefile.h: Converted to  an abstract base class.
275         * casefile-private.h fastfile.c fastfile.h: New files.
276         * automake.mk procedure.c scratch-writer.c storage-stream.c
277
278 Wed Jul 12 21:02:26 2006  Ben Pfaff  <blp@gnu.org>
279
280         * procedure.c (internal_procedure): Create sink_case with only as
281         many values as the compacted dictionary.
282
283 Wed Jul 12 21:01:00 2006  Ben Pfaff  <blp@gnu.org>
284
285         Remove "debugging" code that caused plenty of false positives and
286         no true positives.
287         
288         * case.h (struct ccase): [DEBUGGING] Remove `this' member.
289
290         * case.c: Remove all references to `this' member.
291
292 Thu Jul  6 19:09:53 2006  Ben Pfaff  <blp@gnu.org>
293
294         Fix link error noted by Jason Stover.
295         
296         * storage-stream.c: Include <assert.h>.
297
298 Tue Jul  4 08:47:35 2006  Ben Pfaff  <blp@gnu.org>
299
300         Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support
301         ALL) and additional underlying system file issues.
302
303         Thanks to John Darrington for review.
304
305         First problem: var_hash points to variables not owned by the
306         sys-file-reader, which the caller may free or modify.  Use an
307         array of sfm_vars instead, as done earlier (e.g. CVS version
308         1.12).
309         
310         * sys-file-reader.c (struct sfm_reader): Remove var_hash, svars
311         members and remove all code that references it.  Add vars, var_cnt
312         members.  Remove fix_specials member, which was unused.
313         (struct sfm_var) Remove name member, which was unused.
314         (sfm_close_reader) Free vars member instead of var_hash.
315         (compare_var_shortnames) Removed.
316         (hash_var_shortname) Removed.
317         (sfm_open_reader) Fill out vars array.
318         (compare_var_index) Removed.
319         (sfm_read_case) Use vars instead of var_hash.
320         
321         Second problem: we're confused about when we actually have very
322         long strings, causing us to choose incorrectly between slow path
323         and fast path in sfm_read_case.
324
325         * sys-file-reader.c: (sfm_open_reader) Only mark has_vls if we
326         have very long strings, not when we have long variable names,
327         which is an unrelated feature.
328
329 Tue Jun 27 12:06:49 2006  Ben Pfaff  <blp@gnu.org>
330
331         * variable.h: Move var_set and variable parsing declarations to
332         new header, src/language/lexer/variable-parser.h.  Modified lots
333         of files to include the new header.
334
335 Sun Jun 25 22:39:32 2006  Ben Pfaff  <blp@gnu.org>
336
337         * value-labels.c (value_to_string): When there's no value label,
338         format the variable according to its print format, instead of
339         always effectively using A or F format.
340
341 Mon Jun 19 18:05:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
342
343         * casefile.c (casefile_get_random_reader): Nasty hack to get around 
344         the mode assertion.
345
346         * format.c: Removed tortological assertion.
347
348 Fri Jun  9 12:20:09 2006  Ben Pfaff  <blp@gnu.org>
349
350         Reform string library.
351         
352         * file-name.c (fn_interp_vars): Change interface to take a
353         substring as input.  Updated all users.
354         
355 Fri Jun  9 12:11:24 2006  Ben Pfaff  <blp@gnu.org>
356
357         * format.c (measure_is_valid): Really return false when m >=
358         n_MEASURES.
359
360 Tue Jun  6 18:46:26 2006  Ben Pfaff  <blp@gnu.org>
361
362         Implement random access to casefiles, for use in GUI.
363         
364         * casefile.c: (struct casereader) Add `random', `file_ofs',
365         `buffer_ofs' members.
366         (casefile_get_random_reader) New function.
367         (read_open_file) Break part into new function
368         seek_and_fill_buffer().
369         (fill_buffer) Update buffer_ofs, file_ofs.
370         (casereader_seek) New function.
371
372 Tue May 30 19:52:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
373
374         * settings.c: Added call to i18n{done, init}.
375
376 Tue May  9 21:09:17 2006  Ben Pfaff  <blp@gnu.org>
377
378         * procedure.h: Add WARN_UNUSED_RESULT to procedure function
379         prototypes.
380
381 Tue May  9 21:08:05 2006  Ben Pfaff  <blp@gnu.org>
382
383         * casefile.c: Convert many uses of `int' to `bool'.
384
385 Sat May  6 22:49:43 2006  Ben Pfaff  <blp@gnu.org>
386
387         * transformations.c (trns_chain_destroy): Destroy chain's trns
388         member, to fix memory leak.
389
390 Sat May  6 22:48:30 2006  Ben Pfaff  <blp@gnu.org>
391
392         * storage-stream.c (storage_source_decapsulate): Destroy case
393         source to fix memory leak.
394
395 Sat May  6 22:46:47 2006  Ben Pfaff  <blp@gnu.org>
396
397         * scratch-reader.c (scratch_reader_read_case): Copy into existing
398         case passed as argument instead of initializing the argument as a
399         case.  Fixes memory leak that showed up in
400         tests/command/aggregate.sh with scratch files.
401
402 Sat May  6 22:45:55 2006  Ben Pfaff  <blp@gnu.org>
403
404         * procedure.c (proc_done): Destroy default_dict, to fix memory
405         leak.
406
407 Sat May  6 22:44:44 2006  Ben Pfaff  <blp@gnu.org>
408
409         Simplify procedure_with_splits().
410         
411         * procedure.c (struct split_aux_data): Removed case_count member.
412         (procedure_with_splits) Don't initialize case_count.
413         (split_procedure_case_func) Check whether prev_case is null
414         instead of case_count.
415         (split_procedure_end_func) Ditto.
416
417 Sat May  6 22:42:23 2006  Ben Pfaff  <blp@gnu.org>
418
419         * case.c (case_move): Do nothing if dst and src are the same
420         object.
421         (case_try_create) Merge two similar cases.
422         (case_copy) Unshare only if data must be actually copied.
423
424 Sun May  7 10:04:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
425
426         * data-in.c data-out.c dictionary.c sys-file-reader.c
427         sys-file-writer.c variable.c variable.h:  Reworked very long string
428         support for better encapsulation.
429
430 Sat May  6 19:02:00 2006  Ben Pfaff  <blp@gnu.org>
431
432         * value-labels.c (val_labs_can_set_width): New function.
433         (val_labs_set_width) Clear labels if increasing width to long
434         string.
435         (val_labs_destroy) Remove unneeded test for null.
436         
437 Sat May  6 16:14:08 2006  Ben Pfaff  <blp@gnu.org>
438
439         * value-labels.h: Remove unneeded dependency on variable.h.
440
441 Sat May  6 15:58:36 2006  Ben Pfaff  <blp@gnu.org>
442
443         Get rid of `char *c' member in union value, for cleanliness.
444         
445         * value.h: (union value) Remove `c' member.
446
447 Sat May  6 15:36:59 2006  Ben Pfaff  <blp@gnu.org>
448
449         Make dictionary compacting functions a little more general.
450         
451         * sys-file-writer.c (sfm_open_writer): Use
452         dict_compacting_would_change().
453         (does_dict_need_translation) Removed.
454
455 Sat May  6 15:35:42 2006  Ben Pfaff  <blp@gnu.org>
456
457         Make dictionary compacting functions a little more general.
458         
459         * dictionary.c (dict_needs_compaction): Rename
460         dict_compacting_would_shrink().  Update all callers.
461         (dict_compacting_would_change) New function.
462         
463 Sat May  6 14:25:49 2006  Ben Pfaff  <blp@gnu.org>
464
465         * sys-file-writer.c: (does_dict_need_translation) Fix bug:
466         inverted return value (!).
467
468 Sat May  6 13:37:52 2006  Ben Pfaff  <blp@gnu.org>
469
470         Continue reforming procedure execution.  
471
472         * procedure.c: Search and replace "vfm" by "proc".  Notably:
473         (static var vfm_source) Rename proc_source.  Update all
474         references.
475         (static var vfm_sink) Rename proc_sink.  Update all references.
476         
477 Sat May  6 12:38:55 2006  Ben Pfaff  <blp@gnu.org>
478
479         Continue reforming procedure execution.  In this phase, remove
480         PROCESS IF, which was deprecated anyway and can be easily
481         simulated with TEMPORARY followed by SELECT IF.
482
483         * procedure.c: (open_active_file) Don't call
484         add_process_if_trns().
485         (discard_variables) Get rid of redundant call to
486         proc_cancel_all_transformations().
487         (add_process_if_trns) Removed.
488         (process_if_trns_proc) Removed.
489         (process_if_trns_free) Removed.
490
491 Sat May  6 10:58:05 2006  Ben Pfaff  <blp@gnu.org>
492
493         Continue reforming procedure execution.  In this phase, add
494         `const' to the case passed to procedure()'s callback.
495
496         Updated all users of procedure() as well.
497         
498         * procedure.c: (struct write_case_data) Add "const" to ccase
499         parameter for case_func member.
500         (procedure) Add "const" to ccase parameter for proc_func
501         parameter.
502         (multipass_case_func) Make ccase parameter const.
503         (internal_procedure) Add "const" to ccase parameter for case_func
504         parameter.
505         (split_procedure_case_func) Make ccase parameter const.
506         (multipass_split_case_func) Make ccase parameter const.
507         
508 Sat May  6 10:30:33 2006  Ben Pfaff  <blp@gnu.org>
509
510         Continue reforming procedure execution.  In this phase, get rid of
511         the output code for SPLIT FILE groups in procedure.c, which really
512         shouldn't be doing any output.  Move it into the individual
513         procedures instead.  This also adds some flexibility.
514
515         Updated many users of procedure_with_splits() and
516         multipass_procedure_with_splits() to call
517         output_split_file_values() and to deal with increased use of
518         const.
519
520         * procedure.c: (struct split_aux_data) Add "const struct ccase *"
521         parameter to begin_func member.
522         (procedure_with_splits) Add "const struct ccase *" parameter to
523         begin_func parameter.  Make ccase parameter const in proc_func
524         parameter.
525         (split_procedure_case_func) Don't dump split file group.  Pass
526         case to begin_func.
527         (dump_splits) Moved to language/dictionary/split-file.c as
528         output_split_file_values().
529         (struct multipass_split_aux_data) Add "const struct ccase *"
530         parameter to split_func member.
531         (multipass_procedure_with_splits) Add "const struct ccase *"
532         parameter to split_func parameter.
533         (multipass_split_case_func) Save new SPLIT FILE case before
534         outputting case.
535         (multipass_split_output) Pass saved SPLIT FILE case to split_func.
536         
537 Fri May  5 22:48:50 2006  Ben Pfaff  <blp@gnu.org>
538
539         Continue reforming procedure execution.  Change
540         internal_procedure() so that it calls open_active_file() and
541         close_active_file(), which isolates most of the actual procedure
542         functionality.
543
544         * procedure.c: (struct write_case_data) Rename `proc_func' member
545         to `case_func' and update all references.
546         (procedure) Rewrite as one-line wrapper around
547         internal_procedure().
548         (struct multipass_aux_data) New.
549         (multipass_callback) Renamed multipass_case_func().  Use struct
550         multipass_aux_data as auxiliary data.
551         (multipass_end_func) New function.
552         (multipass_procedure) Rewrite as wrapper for internal_procedure()
553         that uses multipass_case_func, multipass_end_func.
554         (internal_procedure) Add `end_func' argument.  Move optimization
555         of trivial case in here.  Move call to open_active_file() and
556         close_active_file() in here.  Now assert that vfm_source is
557         non-null.
558         (procedure_with_splits_callback) Rename
559         split_procedure_case_func().
560         (split_procedure_end_func) New function.
561         (multipass_split_callback) Rename multipass_split_case_func.
562         (multipass_split_end_func) New function.
563         (discard_variables) No need to test for nonnull vfm_source.
564
565 Fri May  5 21:34:02 2006  Ben Pfaff  <blp@gnu.org>
566
567         Continue reforming procedure execution.  Get rid of unused member.
568
569         * procedure.c: (struct write_case_data) Remove `cases_analyzed'
570         member.
571         (write_case) Don't increment cases_analyzed.
572
573 Thu May  4 21:50:11 2006  Ben Pfaff  <blp@gnu.org>
574
575         Continue reforming procedure execution.  In this phase, move
576         procedure.c and procedure.h from src to src/data.  Update
577         makefiles and #includes accordingly.
578
579         * procedure.c: Moved here from src/.
580
581         * procedure.h: Moved here from src/.
582
583 Wed May  3 22:42:12 2006  Ben Pfaff  <blp@gnu.org>
584
585         Continue reforming procedure execution.  In this phase, get rid of
586         many global variables, consolidating procedure execution in
587         procedure.c.  Encapsulate transformations in new "struct
588         trns_chain".  Also, change implementation of N OF CASES, FILTER,
589         and PROCESS IF from special cases to transformations.
590          
591         * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c,
592         transformations.h.
593
594         * dictionary.c: (global variable default_dict) Move to
595         src/procedure.c.
596
597         * variable.h: (TRNS_*) Move to transformations.h.
598         (struct transformation) Move to transformations.c.
599
600 Thu May  4 13:47:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
601
602         * sys-file-reader.c: Fixed invalid read problems.
603
604 Tue May  2 15:57:10 2006  Ben Pfaff  <blp@gnu.org>
605
606         * storage-stream.c: Add missing function comments.
607
608 Tue May  2 15:50:21 2006  Ben Pfaff  <blp@gnu.org>
609
610         Continue reforming procedure execution.  In this phase, add some
611         new, needed functionality to storage-stream.
612
613         * storage-stream.c: (storage_source_decapsulate) New function.
614
615 Tue May  2 15:43:36 2006  Ben Pfaff  <blp@gnu.org>
616
617         * variable.c (width_to_bytes): Declarations must precede
618         statements for C90 compliance.
619
620 Tue May  2 10:42:05 WST 2006 John Darrington <john@darrington.wattle.id.au>
621
622         * data-out.c, data-in.c, variable.c, variable.h: New functions 
623         copy_mangle and copy_demangle for reading/writing cases; emulates the 
624         way SPSS deals with strings > 255 bytes.
625
626         * sys-file-reader.c sys-file-writer.c: Added support for Record 7, 
627         subtype 14 needed for strings longer than 255 bytes.
628
629         * dictionary.c, format.def, value.c : Updated to use MAX_STRING 
630         instead of literal values. Also fixed some constness issues.
631
632         * format.h: Constness
633
634         * sfm-private.h: Renamed the case_size identifier, since I discovered 
635         that SPSS's respect for this variable is very nominal.
636
637 Mon May  1 15:45:42 2006  Ben Pfaff  <blp@gnu.org>
638
639         Change case limit type from int to size_t.
640
641         * dictionary.c: (struct dictionary) Change type of case_limit
642         member.
643         (dict_get_case_limit) Change return type.
644         (dict_set_case_limit) Change parameter type.
645
646 Wed Apr 26 20:01:19 2006  Ben Pfaff  <blp@gnu.org>
647
648         * variable.h: (struct variable) Rename `reinit' member as `leave'
649         and invert sense.  Fix up all references.
650
651 Wed Apr 26 19:39:28 2006  Ben Pfaff  <blp@gnu.org>
652
653         Continue reforming procedure execution.  In this phase, break
654         procedure.c into multiple files.
655         
656         * automake.mk: (src_data_libdata_a_SOURCES) Add all the new files.
657
658         * case-sink.c: New file.
659
660         * case-sink.h: New file.
661         
662         * case-source.c: New file.
663
664         * case-source.h: New file.
665         
666         * storage-stream.c: New file.
667
668         * storage-stream.h: New file.
669
670 Wed Apr 26 14:55:19 2006  Ben Pfaff  <blp@gnu.org>
671
672         * variable.h: (struct variable) Remove `init' member and all
673         references to it from other files.  It was initialized in several
674         places, but nothing really ever used it for anything worthwhile.
675         Thanks to Jason Stover for pointing out how confusing this
676         member is.
677
678 Sun Apr 23 22:04:45 2006  Ben Pfaff  <blp@gnu.org>
679
680         Continue reforming error message support.  In this phase, get rid
681         of message "titles" and put the message text in `struct error'.
682         Now `struct error' encapsulates a message more properly.
683         
684         * casefile.c: (io_error) Use err_msg() instead of err_vmsg().
685         Format message ourselves.
686
687         * data-in.c: (vdls_error) Ditto.
688
689         * por-file-reader.c: (error) Ditto.
690
691         * sys-file-reader.c: (corrupt_msg) Ditto.
692
693 Sun Apr 16 18:49:51 2006  Ben Pfaff  <blp@gnu.org>
694
695         GNU standards require "file name" instead of "filename" in
696         documentation.  It's nice for our code to follow the convention
697         too.
698         
699         * casefile.c: (struct casefile) Rename `filename' member to
700         `file_name'.  Updated all references.
701
702         * file-name.c: [!unix] (struct file_identity) Rename
703         normalized_filename member to normalized_file_name.  Updated all
704         references.
705
706 Sun Apr 16 18:35:33 2006  Ben Pfaff  <blp@gnu.org>
707
708         We don't really support anything but Unix-like environments well,
709         so we might as well de-obfuscate by writing directory and path
710         separators explicitly.
711
712         * file-name.h: (macro DIR_SEPARATOR) Removed.  Changed all usages
713         to just '/'.
714         (macro PATH_SEPARATOR) Removed.  Changed all usages to just ':'.
715         (macro DIR_SEPARATOR_STRING) Removed.  Changed all usages to just
716         "/".
717         (macro PATH_SEPARATOR_STRING) Removed.  Changed all usages to just
718         ":"
719
720 Sun Apr 16 18:28:35 2006  Ben Pfaff  <blp@gnu.org>
721
722         GNU standards require "file name" instead of "filename" in
723         documentation.  It's nice for our code to follow the convention
724         too.
725         
726         * filename.c: Rename to file-name.c.
727
728         * filename.h: Rename to file-name.h.  Update all inclusions.
729         Update header guards.
730
731         * automake.mk: Update file names.
732
733 Sun Apr 16 16:42:47 2006  Ben Pfaff  <blp@gnu.org>
734
735         * filename.c: (fn_dirname) Renamed fn_dir_name(), all references
736         updated.
737         (fn_basename) Removed (dead code).
738         (fn_absolute_p) Renamed fn_is_absolute(), all references updated.
739         (fn_special_p) Renamed fn_is_special(), all references updated.
740         (fn_exists_p) Renamed fn_exists(), all references updated.
741
742 Sun Apr 16 16:33:58 2006  Ben Pfaff  <blp@gnu.org>
743
744         * filename.c: (fn_tilde_expand) Rewrite for cleaner code.  
745         Also, now it only tilde-expands file names, not paths.
746         (fn_search_path) Tilde-expand one directory at a time.
747
748 Sun Apr 16 16:28:06 2006  Ben Pfaff  <blp@gnu.org>
749
750         * filename.c: (fn_search_path) rewrite for cleaner code.  Also,
751         get rid of non-Unixlike version of the code, which has probably
752         never been tested.
753         (fn_prepend_dir) Removed (dead code).
754
755         * filename.h: (macro DIR_SEPARATOR_STRING) New.
756         (macro PATH_SEPARATOR_STRING) New.
757 Sun Apr 16 16:05:28 2006  Ben Pfaff  <blp@gnu.org>
758
759         Continue reforming error message support.  In this phase, we get
760         rid of VM() and the other msg() support for "verbosity", replacing
761         it by a new function verbose_msg().
762
763         * filename.c: (fn_search_path) Use verbose_msg() instead of
764         msg(VM(), ...).  
765
766 Sat Apr 15 19:53:19 2006  Ben Pfaff  <blp@gnu.org>
767
768         * sfm-private.h: Get rid of #defines after #error, which makes no
769         sense.
770
771 Sat Apr 15 19:48:57 2006  Ben Pfaff  <blp@gnu.org>
772
773         Get rid of our own int32 type in favor of the standard int32_t
774         type.
775         
776         * sfm-private.h: (int32 macro) Don't define this anymore.  Do
777         include <stdint.h>.
778
779         * sys-file-reader.c: Use int32_t instead of int32 throughout.
780         
781         * sys-file-writer.c: Use int32_t instead of int32 throughout.
782
783 Sat Apr 15 19:36:47 2006  Ben Pfaff  <blp@gnu.org>
784
785         Remove ill-considered file routines that are no longer used.
786         
787         * filename.c: (fn_open_ext) Removed.
788         (fn_close_ext) Removed.
789
790         * filename.h: (struct file_ext) Removed.
791
792 Mon Apr  3 13:22:39 2006  Ben Pfaff  <blp@gnu.org>
793
794         * variable.c (var_is_valid_name): Move declarations before code
795         for C90 compliance.
796
797 Tue Apr  4 15:28:40 WST 2006 John Darrington <john@darrington.wattle.id.au>
798
799         * filename.ch (fn_interp_vars): Fixed small buglet.
800
801 Tue Mar 28 13:47:16 WST 2006 John Darrington <john@darrington.wattle.id.au>
802         
803         * filename.[ch] (fn_interp_vars): Changed the signature and semantics
804         so as to modify the string inline.   Thus makeing it easier to
805         destroy the results when no longer needed.
806         
807 2006-03-25  Jason Stover  <jhs@math.gcsu.edu>
808
809         * category.c (cat_stored_values_destroy): Fixed memory leak.
810
811 Fri Mar 24 18:15:41 2006  Ben Pfaff  <blp@gnu.org>
812
813         Add some missing frees.  Thanks to John Darrington for reporting
814         these.
815
816         * any-writer.c (any_writer_close): Free writer.
817
818         * any-reader.c (any_reader_close): Free reader.
819
820 Mon Mar 20 16:33:53 2006  Ben Pfaff  <blp@gnu.org>
821
822         * por-file-reader.c: (error) Mark as NO_RETURN.
823
824 Sat Mar 11 15:06:07 WST 2006 John Darrington <john@darrington.wattle.id.au>
825
826         * settings.c: Changed default value of scompress to true.
827
828 Sat Mar  4 13:22:51 2006  Ben Pfaff  <blp@gnu.org>
829
830         * sfm-private.h: Include variable.h, to get SHORT_NAME_LEN.
831
832         * value.h: Remove check on MAX_SHORT_STRING, which I don't think
833         really applies.
834
835         * variable.h: Move definition of SHORT_NAME_LEN, LONG_NAME_LEN
836         here from pref.h.orig.
837
838 Sat Mar  4 12:50:48 WST 2006 John Darrington <john@darrington.wattle.id.au>
839
840         * sys-file-reader.c: Fixed bug reading compressed files.
841
842 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
843
844         * Numerous renames.  See src/ChangeLog for details.
845         
846         * Moved files from src directory