Fixed problem deallocating iconv structs.
[pspp-builds.git] / src / libpspp / ChangeLog
1 Mon Jul  3 09:36:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
2
3         * i18n.c: Made character conversion tolerant of failure to create the 
4         necessary iconv structs.
5
6 Sat Jul  1 15:32:54 2006  Ben Pfaff  <blp@gnu.org>
7
8         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add new files.
9
10         * ll.c: New file.
11
12         * ll.h: New file.
13
14         * llx.c: New file.
15
16         * llx.h: New file.
17
18 Sun Jun 25 22:35:28 2006  Ben Pfaff  <blp@gnu.org>
19
20         Optimize rehashing: we know that none of the entries in the hash
21         table are equal, so we need not compare them to each other during
22         rehashing.
23         
24         * hash.c: (locate_empty_entry) New function.
25         (rehash) Use locate_empty_entry() instead of
26         locate_matching_entry().
27
28 Fri Jun  9 14:03:29 2006  Ben Pfaff  <blp@gnu.org>
29
30         Reform string library.
31         
32         * str.c (ss_empty): New function.  Replaces some uses of ls_init()
33         or ls_null().
34         (ss_cstr) New function.  Replaces some uses of ls_init().
35         (ss_buffer) New function.  Replaces some uses of ls_init().
36         (ss_substr) New function.
37         (ss_head) New function.
38         (ss_tail) New function.
39         (ss_alloc_substring) New function.  Replaces use of ls_create().
40         (ss_alloc_uninit) New function.
41         (ss_dealloc) New function.  Replaces use of ls_destroy().
42         (ss_truncate) New function.
43         (ss_rtrim) New function.
44         (ss_ltrim) New function.
45         (ss_trim) New function.
46         (ss_chomp) New function.
47         (ss_separate) New function.
48         (ss_tokenize) New function.
49         (ss_advance) New function.
50         (ds_create) Renamed ds_init_cstr().  Updated all callers.
51         (ss_match_char) New function.
52         (ss_get_char) New function.
53         (ss_get_until) New function.
54         (ss_get_chars) New function.
55         (ss_is_empty) New function.
56         (ss_length) New function.  Replaces ls_length().
57         (ss_data) New function.  Replaces many uses of ls_c_str().
58         (ss_end) New function.  Replaces ls_end().
59         (ss_at) New function.
60         (ss_first) New function.
61         (ss_last) New function.
62         (ss_span) New function.
63         (ss_cspan) New function.
64         (ss_compare) New function.
65         (ss_pointer_to_position) New function.
66         (ss_xstrdup) New function.
67         (ds_init) Renamed ds_init_empty().  All callers updated.
68         (ds_init_string) New function.
69         (ds_init_substring) Changed interface to take a struct substring.
70         Updated all callers.
71         (ds_init_cstr) New function.  Replaces ds_create().  All callers
72         updated.
73         (ds_assign_substring) Changed interface to take a struct
74         substring.  Updated all callers.
75         (ds_assign_buffer) Removed.  Changed all callers to use
76         ds_assign_substring().
77         (ds_assign_c_str) Renamed ds_assign_cstr().  All callers updated.
78         (ds_ss) New function.
79         (ds_substr) New function.
80         (ds_head) New function.
81         (ds_tail) New function.
82         (ds_rtrim) New function.  Replaces ds_rtrim_spaces().  All callers
83         updated.
84         (ds_ltrim) New function.  Replaces ds_ltrim_spaces().  All callers
85         updated.
86         (ds_trim) New function.  Replaces ds_trim_spaces().  All callers
87         updated.
88         (ds_rtrim_spaces) Removed.
89         (ds_ltrim_spaces) Removed.
90         (ds_trim_spaces) Removed.
91         (ds_separate) Changed interface to use substrings.  All callers
92         updated.
93         (ds_tokenize) Changed interface to use substrings.  All callers
94         updated.
95         (ds_c_str) Renamed ds_cstr().  All callers updated.
96         (ds_span) Changed interface to use substring for SKIP_SET and
97         dropped OFS.  All callers updated.
98         (ds_cspan) Changed interface to use substring for STOP_SET and
99         dropped OFS.  All callers updated.
100         (ds_find_char) New function.
101         (ds_compare) New function.
102         (ds_pointer_to_position) New function.
103         (ds_xstrdup) New function.  Replaced all users of
104         xstrdup(ds_c_str(s)) by a call to this function.
105         (ds_gets) Renamed ds_read_line().  All callers updated.
106         (ds_get_config_line) Renamed ds_read_config_line().  All callers
107         updated.
108         (ds_puts) Renamed ds_put_cstr().  All callers updated.
109         (ds_put_substring) New function.  Replaces ds_concat().  All
110         callers updated.
111         (ds_concat) Removed.
112         (ds_append_uninit) Renamed ds_put_uninit().  All callers updated.
113         (ds_printf) Renamed ds_put_format().  All callers updated.
114         (ds_vprintf) Renamed ds_put_vformat().  All callers updated.
115         (ds_putc) Renamed ds_put_char().  All callers updated.
116         (ds_putc_multiple) Renamed ds_put_char_multiple().  All callers
117         updated.
118         (ls_create) Removed.  Replaced by ss_alloc_substring().
119         (ls_create_buffer) Removed.  Replaced by ss_alloc_substring().
120         (ls_init) Removed.  Replaced by ss_buffer().
121         (ls_shallow_copy) Removed.  Just use assignment.
122         (ls_destroy) Removed.  Replaced by ss_dealloc().
123         (ls_null) Removed.
124         (ls_null_p) Removed.
125         (ls_empty_p) Removed.  Replaced by ss_is_empty().
126         (ls_c_str) Removed.
127         (ls_end) Removed.  Replaced by ss_end().
128
129         * str.h (struct fixed_string): Renamed struct substring, updated
130         all users.
131         (CC_SPACES) New macro.
132         (CC_DIGITS) Ditto.
133         (CC_XDIGITS) Ditto.
134         (CC_LETTERS) Ditto.
135         (CC_ALNUM) Ditto.
136         (SS_EMPTY_INITIALIZER) Ditto.
137         (SS_LITERAL_INITIALIZER) Ditto.
138         (struct string) Removed string, length members.  Add substring
139         member.
140         (DS_INITIALIZER) Rename DS_EMPTY_INITIALIZER.
141
142 Tue May 30 19:45:12 WST 2006 John Darrington <john@darrington.wattle.id.au>
143
144         * i18n.c i18n.h: New files.
145
146 Tue May 16 06:50:35 2006  Ben Pfaff  <blp@gnu.org>
147
148         * automake.mk (src/libpspp/version.c): Removed groff_font_path,
149         which is no longer used.
150
151         * message.c (request_bug_report_and_abort): Don't print
152         groff_font_path, which no longer exists.
153
154         * version.h (locale_dir): Removed groff_font_path.
155
156 Sun May 14 22:06:53 2006  Ben Pfaff  <blp@gnu.org>
157
158         * str.c (spprintf): Moved definition of spprintf() here, from
159         str.h.
160
161         * str.h: (nsprintf) Removed.  Changed all users to use sprintf()
162         instead.
163         (nvsprintf) Removed.  Changed all users to use vsprintf() instead.
164
165 Sun May 14 20:52:20 2006  Ben Pfaff  <blp@gnu.org>
166
167         * str.c (ds_init): Remove `capacity' argument and just initialize
168         the string to a capacity of zero.  Updated all callers.
169
170 Tue May  9 09:56:57 2006  Ben Pfaff  <blp@gnu.org>
171
172         * va_copy.h: Removed.  Now use va_copy() provided by gnulib
173         instead.
174
175         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Removed va_copy.h.
176
177 Sun May  7 18:17:32 2006  Ben Pfaff  <blp@gnu.org>
178
179         * pool.c (pool_vasprintf): New function.
180         (pool_asprintf) New function.
181
182 Sun May  7 17:09:54 2006  Ben Pfaff  <blp@gnu.org>
183
184         * compiler.h: (macro WARN_UNUSED_RESULT) New macro.
185
186 Sun May  7 14:32:25 2006  Ben Pfaff  <blp@gnu.org>
187
188         * va_copy.h: New header.
189
190         * str.c: Use header instead of inlining va_copy() macro
191         implementation.
192
193 Sun May  7 10:06:29 WST 2006 John Darrington <john@darrington.wattle.id.au>
194
195         * array.c array.h: Constness of sort.
196
197 Thu May  4 18:01:37 WST 2006 John Darrington <john@darrington.wattle.id.au>
198
199         * message.c message.h: Added functions to create and copy a msg.
200
201 Tue May  2 15:41:50 2006  Ben Pfaff  <blp@gnu.org>
202
203         * str.c (ds_append_uninit): No need to add 1 to arg passed to
204         ds_extend(), because the argument does not include space for a
205         null terminator.  Also, fix warning.
206
207 Tue Apr 25 11:07:19 2006  Ben Pfaff  <blp@gnu.org>
208
209         Finish reforming error message support.  In this phase, move
210         message.c into libpspp.
211         
212         * message.c: Move here from src/.  Also remove a few unneeded
213         headers.
214
215         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add message.c. 
216
217 Tue Apr 25 10:54:44 2006  Ben Pfaff  <blp@gnu.org>
218
219         Continue reforming error message support.  In this phase, drop
220         actual message printing from core code, substituting a callback,
221         and add the callback to each UI.  Also, move verbose_msg() into
222         its own module.
223
224         * automake.mk (src_libpspp_libpspp_a_SOURCES): Added
225         verbose-msg.c, verbose-msg.h.
226
227         * verbose-msg.c: New file.
228
229         * verbose-msg.h: New file.
230
231 Mon Apr 24 17:26:47 2006  Ben Pfaff  <blp@gnu.org>
232
233         Continue reforming error message support.  In this phase, rename
234         all the message functions and types to start with "msg", except
235         for the ones that will be moving to other modules anyway.
236
237         All references to the identifiers below were updated likewise.
238         
239         * message.h: (enum file_locator) Renamed `enum msg_locator'.
240         (struct error) Renamed `struct msg'.
241         (err_assert_fail) Renamed msg_assert_fail().
242
243 Sun Apr 23 22:07:06 2006  Ben Pfaff  <blp@gnu.org>
244
245         Continue reforming error message support.  In this phase, get rid
246         of message "titles" and put the message text in `struct error'.
247         Now `struct error' encapsulates a message more properly.
248         
249         * message.h: (struct error) Remove `title' member.  Add `text'
250         member.
251         
252 Sun Apr 16 20:43:35 2006  Ben Pfaff  <blp@gnu.org>
253
254         Continue reforming error message support.  In this phase, we
255         divide the classification of messages along "category" and
256         "severity" axes.
257
258         * message.h: (enum msg_class) Named this set of enumerations.
259         (enum msg_category) New enum: MSG_GENERAL, MSG_SYNTAX, MSG_DATA.
260         (enum msg_severity) New enum: MSG_ERROR, MSG_WARNING, MSG_NOTE.
261         (msg_class_to_category) New inline function.
262         (msg_class_to_severity) New inline function.
263         (msg_class_from_category_and_severity) New inline function.
264         (struct error) Removed `class' member, added `category',
265         `severity'.  Updated all users of this struct to use the new
266         members.
267
268 Sun Apr 16 20:33:19 2006  Ben Pfaff  <blp@gnu.org>
269
270         * str.c (ds_vprintf): Don't try to write into the string if it is
271         null.
272
273 Sun Apr 16 18:52:41 2006  Ben Pfaff  <blp@gnu.org>
274
275         GNU standards require "file name" instead of "filename" in
276         documentation.  It's nice for our code to follow the convention
277         too.
278         
279         * message.h: (struct file_locator) Rename filename member to
280         file_name.  Updated all references.
281
282 Sun Apr 16 16:05:43 2006  Ben Pfaff  <blp@gnu.org>
283
284         Continue reforming error message support.  In this phase, we get
285         rid of VM() and the other msg() support for "verbosity", replacing
286         it by a new function verbose_msg().
287
288         * message.h: (enum ERR_CLASS_COUNT) Renamed ERR_CLASS_CNT.
289         (enum ERR_CLASS_MASK) Removed.
290         (enum ERR_VERBOSITY_SHIFT) Removed.
291         (enum ERR_VERBOSITY_MASK) Removed.
292         (macro VM) Removed.
293
294 Sun Apr 16 11:48:07 2006  Ben Pfaff  <blp@gnu.org>
295
296         Start reforming error message support.  In this phase, we get rid
297         of "installation errors" and change all uses of msg() in the
298         output drivers to uses of error() or error_at_line().
299
300         * message.h: Remove IE, IS enums.
301
302 Mon Apr  3 11:10:21 2006  Ben Pfaff  <blp@gnu.org>
303
304         * str.c: (ds_separate) Change interface for cleanliness and
305         consistency with ds_tokenize(), and rewrite to shorten and
306         simplify.  Updated all callers.
307         (ds_tokenize) New function.
308
309 Fri Mar 31 10:38:46 2006  Ben Pfaff  <blp@gnu.org>
310
311         Add freaderror() analogous to fwriteerror() in gnulib.
312
313         * freaderror.c: New file.
314
315         * freaderror.h: New file.
316
317 Thu Mar 30 16:15:37 2006  Ben Pfaff  <blp@gnu.org>
318
319         * str.c: (ds_create) Adjust capacity selection.
320         (ds_init) Use MAX macro for clarity.
321         (ds_create_substr) Rewrote.
322         (ds_replace) Renamed ds_assign_c_str(), reimplemented.  Changed
323         all callers to use a ds_assign_*() function.
324         (ds_init_substring) New function.
325         (ds_assign_string) New function.
326         (ds_assign_substring) New function.
327         (ds_assign_buffer) New function.
328         (ds_assign_c_str) New function.
329         (ds_truncate) Rewrote for clarity.
330         (ds_rpad) Reimplement in terms of ds_putc_multiple().
331         (ds_ltrim_spaces) Reimplement.
332         (ds_trim_spaces) New function.
333         (ds_separate) New function.
334         (ds_c_str) Make tolerant of null pointer, allowing static
335         initialization of strings.
336         (ds_find) Rename ds_span(), change interface.
337         (ds_n_find) Rename ds_cspan(), change interface.
338         (ds_at) New function.
339         (ds_first) Reimplement in terms of ds_at().
340         (remove_comment) New function.
341         (ds_get_config_line) Reimplement in terms of other functions.
342         Change type of LINE_NUMBER parameter.  Updated all callers.
343         (ds_vprintf) Modify for clarity.
344         (ds_putc) Better to be safe than sorry.
345         (ds_putc_multiple) New function.
346
347         * str.h: (struct string) Reorder members.
348         (macro DS_INITIALIZER) New macro that can be used to initialize a
349         string (as empty).
350         (ds_c_str) Remove inline version.
351
352 Tue Mar 28 13:49:11 WST 2006 John Darrington <john@darrington.wattle.id.au>
353
354         * str.[ch]: New functions ds_create_substr, ds_find, ds_n_find, 
355         ds_ltrim_spaces
356
357 Sat Mar  4 12:59:01 2006  Ben Pfaff  <blp@gnu.org>
358
359         * compiler.h: New file.
360
361 Sat Mar  4 11:55:16 2006  Ben Pfaff  <blp@gnu.org>
362
363         * str.h: Now assume that sprintf() returns the correct value.
364         Always implement spprintf as a static inline function.  Change
365         nsprintf, nvsprintf to simple macros that call sprintf, vsprintf.
366
367         * str.c: Remove spprintf, nsprintf, nvsprintf conditional
368         definitions.
369
370 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
371         
372         * Moved files from src directory