ca06aea9b05f5641204719c3f657a406152b80d7
[pspp-builds.git] / src / libpspp / ChangeLog
1 2007-04-03  Ben Pfaff  <blp@gnu.org>
2
3         Apply patches #5828, #5837, #5841, #5843.
4
5         * abt.c (insert_relative): New function.
6         (abt_insert_after): New function.
7         (abt_insert_before): New function.
8
9         * range-map.c: New file.
10
11         * range-map.h: New file.
12
13         * range-set.c: New file.
14
15         * range-set.h: New file.
16
17         * tower.c: New file.
18
19         * tower.h: New file.
20
21 2007-04-01  Ben Pfaff  <blp@gnu.org>
22
23         * bt.c: Need #include <limits.h>.  Thanks to "John McCabe-Dansted"
24         <gmatht@gmail.com> for pointing this out.
25
26 2007-03-31  Ben Pfaff  <blp@gnu.org>
27
28         Patch #5827.
29
30         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add bt.c.
31
32         * bt.h: New file.
33
34         * bt.c: New file.
35
36 2007-03-30  Ben Pfaff  <blp@gnu.org>
37
38         Patch #5829.
39
40         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add deque.c.
41
42         * deque.h: Completely rewrote.  Adapted client to new interface.
43
44         * deque.c: New file.
45
46 2007-03-25  Ben Pfaff  <blp@gnu.org>
47
48         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add
49         sparse-array.[ch].
50
51         * pool.c (pool_zalloc): New function.
52         (pool_calloc): New function.
53
54         * sparse-array.c: New file.
55
56         * sparse-array.h: New file.
57
58 Mon Mar  5 20:55:49 CET 2007 John Darrington <john@darrington.wattle.id.au>
59
60         * i18n.c: Cast second argument of iconv using ICONV_CONST
61
62 2007-02-22  Ben Pfaff  <blp@gnu.org>
63
64         * string.h: Don't include vsnprintf.h any more, because gnulib has
65         now absorbed it into string.h.
66
67 Thu Feb 22 12:25:52 CET 2007 John Darrington <john@darrington.wattle.id.au>
68
69         * syntax-gen.h syntax-gen.c: New files.
70
71 Sun Feb 18 11:21:41 2007  Ben Pfaff  <blp@gnu.org>
72
73         * alloc.h: Remove useless parentheses in #if "defined" operator.
74
75         * misc.h: Ditto.
76
77 Tue Feb  6 20:00:13 2007  Ben Pfaff  <blp@gnu.org>
78
79         * misc.h [!HAVE_ISINF] (isinf): Define only if isinf is not
80         defined as a macro, because mingw seems to have the macro without
81         the function.
82         [!HAVE_ISNAN] (isnan): Ditto, for symmetry only.
83         [!AHVE_FINITE] (finite): Ditto, for symmetry only.
84
85 Tue Feb  6 19:58:46 2007  Ben Pfaff  <blp@gnu.org>
86
87         * compiler.h (PRINTF_FORMAT): Use __printf__ instead of printf to
88         avoid problem with "#define printf libintl_printf" that libintl is
89         fond of doing.
90         (SCANF_FORMAT): Ditto, for symmetry only.
91
92 Tue Feb  6 19:47:10 2007  Ben Pfaff  <blp@gnu.org>
93
94         * float-format.h: [FPREP_IEEE754] [WORDS_BIGENDIAN] Add missing
95         comma.
96
97 Wed Jan 24 21:13:32 2007  Ben Pfaff  <blp@gnu.org>
98
99         * abt.c: New file.
100
101         * abt.h: New file.
102
103         * automake.mk: Add abt.c, abt.h to sources.
104
105 Sun Jan 14 21:44:18 2007  Ben Pfaff  <blp@gnu.org>
106
107         * automake.mk: Add deque.h to sources.
108         
109         * deque.h: New file.
110
111 Wed Jan 10 06:49:38 2007  Ben Pfaff  <blp@gnu.org>
112
113         * automake.mk: Add heap.c, heap.h to sources.
114
115         * heap.c: New file.
116
117         * heap.h: New file.
118
119 Sun Dec 10 13:54:03 2006  Ben Pfaff  <blp@gnu.org>
120
121         * str.c (ss_tokenize): Skip the first delimiter character
122         following the token.  Otherwise, changing delimiters from token to
123         token can't have a sensible effect, because we'll get the previous
124         delimiter as part of the next token.
125         (ss_match_string): New function.
126
127 Sat Dec  9 18:48:55 2006  Ben Pfaff  <blp@gnu.org>
128
129         * misc.h (macro range): Removed, as it was unused.
130
131 Sat Dec  9 07:19:01 WST 2006 John Darrington <john@darrington.wattle.id.au>
132
133         * array.c: Removed gratuitous #include
134
135 Thu Dec  7 20:33:23 WST 2006 John Darrington <john@darrington.wattle.id.au>
136
137         * getl.c getl.h : Changed signature of create function to take a 
138         string indicating the initial include path.
139
140 Sun Dec  3 11:36:10 2006  Ben Pfaff  <blp@gnu.org>
141
142         * str.h (SS_LITERAL_INITIALIZER): Cast the string literal to "char
143         *".  This normally does nothing but when GCC's -Wwrite-strings is
144         used it fixes a warning that otherwise can't be avoided.
145
146 Sun Dec  3 11:35:35 2006  Ben Pfaff  <blp@gnu.org>
147
148         * str.c (ss_alloc_substring_pool): New function.
149         (ss_alloc_uninit_pool) New function.
150
151 Sun Dec  3 11:28:06 2006  Ben Pfaff  <blp@gnu.org>
152
153         * getl.h: (enum getl_syntax) New enumeration to distinguish
154         between "batch" and "interactive" in a clearer way than a bool.
155         (struct getl_interface) Add an arg to "read" to return the
156         intended syntax mode.  Add an arg to "filter" to specify the
157         syntax mode of the line to filter.
158
159         * getl.c (do_read_line): Instead of returning the syntax type of
160         the line read based on whether the source itself is interactive,
161         return it based on whether the line itself should be treated as
162         having batch or interactive syntax.  Also, adapt interface to the
163         new interfaces of lex_init() and getl_interface.
164
165 Wed Nov 29 19:35:44 WST 2006 John Darrington <john@darrington.wattle.id.au>
166
167         * getl.c getl.h: New files. Created interface from base of 
168         language/line-buffer.[ch]
169
170         * msg-locator.c msg-locator.h: New files. Moved from
171         language/line-buffer.[ch]
172
173 Fri Nov 24 17:27:00 2006  Ben Pfaff  <blp@gnu.org>
174
175         * misc.h: (min) Removed.  All references updated to use MIN, from
176         minmax.h provided by gnulib.
177         (max) Ditto (for MAX).
178
179 Sun Nov 19 09:22:26 2006  Ben Pfaff  <blp@gnu.org>
180
181         * str.c (ss_get_long): New function.
182         (ss_compare_case) Ditto.
183         (ss_equals) Ditto.
184         (ss_equals_case) Ditto.
185
186 Tue Oct 31 19:28:19 2006  Ben Pfaff  <blp@gnu.org>
187
188         * str.h: [!HAVE_STRCHR] Drop compatibility code, because now we
189         assume a C89 compliant library.  (Gnulib makes this assumption so
190         we might as well too.)
191         [!HAVE_STRRCHR] Ditto.
192
193 Thu Oct 26 20:19:50 2006  Ben Pfaff  <blp@gnu.org>
194
195         * automake.mk: Add the new files.
196
197         * legacy-encoding.c: New file.
198
199         * legacy-encoding.h: New file.
200
201         * float-format.c: New file.
202
203         * float-format.h: New file.
204
205         * integer-format.c: New file.
206
207         * integer-format.h: New file.
208
209 Sun Oct 15 09:49:50 WST 2006 John Darrington <john@darrington.wattle.id.au>
210
211         * hash.c hash.h: Added hsh_create_pool, a hash which uses a pool
212         for its memory allocation.
213
214 Mon Jul 31 15:49:46 2006  Ben Pfaff  <blp@gnu.org>
215
216         * compiler.h: (macro CONST_FUNCTION) New macro.
217         (macro PURE_FUNCTION) New macro.
218
219 Sun Jul 16 21:07:35 2006  Ben Pfaff  <blp@gnu.org>
220
221         * message.c: (static int messages_disabled) New variable.
222         (msg_emit) Don't emit the message if messages are disabled.
223         (msg_disable) New function.
224         (msg_enable) New function.
225
226         * str.c: (free_string) New function.
227         (ds_register_pool) New function.
228         (ds_unregister_pool) New function.
229         (ds_set_length) New function.
230
231 Mon Jul 10 17:26:58 WST 2006 John Darrington <john@darrington.wattle.id.au>
232
233         * llx.c: #included compiler.h and removed explicit preprocessor cruft.
234
235 Fri Jul  7 20:01:26 2006  Ben Pfaff  <blp@gnu.org>
236
237         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add assertion.h.
238         
239         * assertion.h: New file.  Replaced usage of assert(0) and abort()
240         with NOT_REACHED() from this file throughout the source tree.
241
242         * message.c: (request_bug_report_and_abort) Revise message printed
243         to include request to include lines above the message, which
244         should include an assertion failure message in many cases.
245         (msg_assert_fail) Removed.
246
247         * message.h: (assert) Removed.
248         (request_bug_report_and_abort) Mark NO_RETURN.
249
250 Mon Jul  3 09:36:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
251
252         * i18n.c: Made character conversion tolerant of failure to create the 
253         necessary iconv structs.
254
255 Sat Jul  1 15:32:54 2006  Ben Pfaff  <blp@gnu.org>
256
257         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add new files.
258
259         * ll.c: New file.
260
261         * ll.h: New file.
262
263         * llx.c: New file.
264
265         * llx.h: New file.
266
267 Sun Jun 25 22:35:28 2006  Ben Pfaff  <blp@gnu.org>
268
269         Optimize rehashing: we know that none of the entries in the hash
270         table are equal, so we need not compare them to each other during
271         rehashing.
272         
273         * hash.c: (locate_empty_entry) New function.
274         (rehash) Use locate_empty_entry() instead of
275         locate_matching_entry().
276
277 Fri Jun  9 14:03:29 2006  Ben Pfaff  <blp@gnu.org>
278
279         Reform string library.
280         
281         * str.c (ss_empty): New function.  Replaces some uses of ls_init()
282         or ls_null().
283         (ss_cstr) New function.  Replaces some uses of ls_init().
284         (ss_buffer) New function.  Replaces some uses of ls_init().
285         (ss_substr) New function.
286         (ss_head) New function.
287         (ss_tail) New function.
288         (ss_alloc_substring) New function.  Replaces use of ls_create().
289         (ss_alloc_uninit) New function.
290         (ss_dealloc) New function.  Replaces use of ls_destroy().
291         (ss_truncate) New function.
292         (ss_rtrim) New function.
293         (ss_ltrim) New function.
294         (ss_trim) New function.
295         (ss_chomp) New function.
296         (ss_separate) New function.
297         (ss_tokenize) New function.
298         (ss_advance) New function.
299         (ds_create) Renamed ds_init_cstr().  Updated all callers.
300         (ss_match_char) New function.
301         (ss_get_char) New function.
302         (ss_get_until) New function.
303         (ss_get_chars) New function.
304         (ss_is_empty) New function.
305         (ss_length) New function.  Replaces ls_length().
306         (ss_data) New function.  Replaces many uses of ls_c_str().
307         (ss_end) New function.  Replaces ls_end().
308         (ss_at) New function.
309         (ss_first) New function.
310         (ss_last) New function.
311         (ss_span) New function.
312         (ss_cspan) New function.
313         (ss_compare) New function.
314         (ss_pointer_to_position) New function.
315         (ss_xstrdup) New function.
316         (ds_init) Renamed ds_init_empty().  All callers updated.
317         (ds_init_string) New function.
318         (ds_init_substring) Changed interface to take a struct substring.
319         Updated all callers.
320         (ds_init_cstr) New function.  Replaces ds_create().  All callers
321         updated.
322         (ds_assign_substring) Changed interface to take a struct
323         substring.  Updated all callers.
324         (ds_assign_buffer) Removed.  Changed all callers to use
325         ds_assign_substring().
326         (ds_assign_c_str) Renamed ds_assign_cstr().  All callers updated.
327         (ds_ss) New function.
328         (ds_substr) New function.
329         (ds_head) New function.
330         (ds_tail) New function.
331         (ds_rtrim) New function.  Replaces ds_rtrim_spaces().  All callers
332         updated.
333         (ds_ltrim) New function.  Replaces ds_ltrim_spaces().  All callers
334         updated.
335         (ds_trim) New function.  Replaces ds_trim_spaces().  All callers
336         updated.
337         (ds_rtrim_spaces) Removed.
338         (ds_ltrim_spaces) Removed.
339         (ds_trim_spaces) Removed.
340         (ds_separate) Changed interface to use substrings.  All callers
341         updated.
342         (ds_tokenize) Changed interface to use substrings.  All callers
343         updated.
344         (ds_c_str) Renamed ds_cstr().  All callers updated.
345         (ds_span) Changed interface to use substring for SKIP_SET and
346         dropped OFS.  All callers updated.
347         (ds_cspan) Changed interface to use substring for STOP_SET and
348         dropped OFS.  All callers updated.
349         (ds_find_char) New function.
350         (ds_compare) New function.
351         (ds_pointer_to_position) New function.
352         (ds_xstrdup) New function.  Replaced all users of
353         xstrdup(ds_c_str(s)) by a call to this function.
354         (ds_gets) Renamed ds_read_line().  All callers updated.
355         (ds_get_config_line) Renamed ds_read_config_line().  All callers
356         updated.
357         (ds_puts) Renamed ds_put_cstr().  All callers updated.
358         (ds_put_substring) New function.  Replaces ds_concat().  All
359         callers updated.
360         (ds_concat) Removed.
361         (ds_append_uninit) Renamed ds_put_uninit().  All callers updated.
362         (ds_printf) Renamed ds_put_format().  All callers updated.
363         (ds_vprintf) Renamed ds_put_vformat().  All callers updated.
364         (ds_putc) Renamed ds_put_char().  All callers updated.
365         (ds_putc_multiple) Renamed ds_put_char_multiple().  All callers
366         updated.
367         (ls_create) Removed.  Replaced by ss_alloc_substring().
368         (ls_create_buffer) Removed.  Replaced by ss_alloc_substring().
369         (ls_init) Removed.  Replaced by ss_buffer().
370         (ls_shallow_copy) Removed.  Just use assignment.
371         (ls_destroy) Removed.  Replaced by ss_dealloc().
372         (ls_null) Removed.
373         (ls_null_p) Removed.
374         (ls_empty_p) Removed.  Replaced by ss_is_empty().
375         (ls_c_str) Removed.
376         (ls_end) Removed.  Replaced by ss_end().
377
378         * str.h (struct fixed_string): Renamed struct substring, updated
379         all users.
380         (CC_SPACES) New macro.
381         (CC_DIGITS) Ditto.
382         (CC_XDIGITS) Ditto.
383         (CC_LETTERS) Ditto.
384         (CC_ALNUM) Ditto.
385         (SS_EMPTY_INITIALIZER) Ditto.
386         (SS_LITERAL_INITIALIZER) Ditto.
387         (struct string) Removed string, length members.  Add substring
388         member.
389         (DS_INITIALIZER) Rename DS_EMPTY_INITIALIZER.
390
391 Tue May 30 19:45:12 WST 2006 John Darrington <john@darrington.wattle.id.au>
392
393         * i18n.c i18n.h: New files.
394
395 Tue May 16 06:50:35 2006  Ben Pfaff  <blp@gnu.org>
396
397         * automake.mk (src/libpspp/version.c): Removed groff_font_path,
398         which is no longer used.
399
400         * message.c (request_bug_report_and_abort): Don't print
401         groff_font_path, which no longer exists.
402
403         * version.h (locale_dir): Removed groff_font_path.
404
405 Sun May 14 22:06:53 2006  Ben Pfaff  <blp@gnu.org>
406
407         * str.c (spprintf): Moved definition of spprintf() here, from
408         str.h.
409
410         * str.h: (nsprintf) Removed.  Changed all users to use sprintf()
411         instead.
412         (nvsprintf) Removed.  Changed all users to use vsprintf() instead.
413
414 Sun May 14 20:52:20 2006  Ben Pfaff  <blp@gnu.org>
415
416         * str.c (ds_init): Remove `capacity' argument and just initialize
417         the string to a capacity of zero.  Updated all callers.
418
419 Tue May  9 09:56:57 2006  Ben Pfaff  <blp@gnu.org>
420
421         * va_copy.h: Removed.  Now use va_copy() provided by gnulib
422         instead.
423
424         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Removed va_copy.h.
425
426 Sun May  7 18:17:32 2006  Ben Pfaff  <blp@gnu.org>
427
428         * pool.c (pool_vasprintf): New function.
429         (pool_asprintf) New function.
430
431 Sun May  7 17:09:54 2006  Ben Pfaff  <blp@gnu.org>
432
433         * compiler.h: (macro WARN_UNUSED_RESULT) New macro.
434
435 Sun May  7 14:32:25 2006  Ben Pfaff  <blp@gnu.org>
436
437         * va_copy.h: New header.
438
439         * str.c: Use header instead of inlining va_copy() macro
440         implementation.
441
442 Sun May  7 10:06:29 WST 2006 John Darrington <john@darrington.wattle.id.au>
443
444         * array.c array.h: Constness of sort.
445
446 Thu May  4 18:01:37 WST 2006 John Darrington <john@darrington.wattle.id.au>
447
448         * message.c message.h: Added functions to create and copy a msg.
449
450 Tue May  2 15:41:50 2006  Ben Pfaff  <blp@gnu.org>
451
452         * str.c (ds_append_uninit): No need to add 1 to arg passed to
453         ds_extend(), because the argument does not include space for a
454         null terminator.  Also, fix warning.
455
456 Tue Apr 25 11:07:19 2006  Ben Pfaff  <blp@gnu.org>
457
458         Finish reforming error message support.  In this phase, move
459         message.c into libpspp.
460         
461         * message.c: Move here from src/.  Also remove a few unneeded
462         headers.
463
464         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add message.c. 
465
466 Tue Apr 25 10:54:44 2006  Ben Pfaff  <blp@gnu.org>
467
468         Continue reforming error message support.  In this phase, drop
469         actual message printing from core code, substituting a callback,
470         and add the callback to each UI.  Also, move verbose_msg() into
471         its own module.
472
473         * automake.mk (src_libpspp_libpspp_a_SOURCES): Added
474         verbose-msg.c, verbose-msg.h.
475
476         * verbose-msg.c: New file.
477
478         * verbose-msg.h: New file.
479
480 Mon Apr 24 17:26:47 2006  Ben Pfaff  <blp@gnu.org>
481
482         Continue reforming error message support.  In this phase, rename
483         all the message functions and types to start with "msg", except
484         for the ones that will be moving to other modules anyway.
485
486         All references to the identifiers below were updated likewise.
487         
488         * message.h: (enum file_locator) Renamed `enum msg_locator'.
489         (struct error) Renamed `struct msg'.
490         (err_assert_fail) Renamed msg_assert_fail().
491
492 Sun Apr 23 22:07:06 2006  Ben Pfaff  <blp@gnu.org>
493
494         Continue reforming error message support.  In this phase, get rid
495         of message "titles" and put the message text in `struct error'.
496         Now `struct error' encapsulates a message more properly.
497         
498         * message.h: (struct error) Remove `title' member.  Add `text'
499         member.
500         
501 Sun Apr 16 20:43:35 2006  Ben Pfaff  <blp@gnu.org>
502
503         Continue reforming error message support.  In this phase, we
504         divide the classification of messages along "category" and
505         "severity" axes.
506
507         * message.h: (enum msg_class) Named this set of enumerations.
508         (enum msg_category) New enum: MSG_GENERAL, MSG_SYNTAX, MSG_DATA.
509         (enum msg_severity) New enum: MSG_ERROR, MSG_WARNING, MSG_NOTE.
510         (msg_class_to_category) New inline function.
511         (msg_class_to_severity) New inline function.
512         (msg_class_from_category_and_severity) New inline function.
513         (struct error) Removed `class' member, added `category',
514         `severity'.  Updated all users of this struct to use the new
515         members.
516
517 Sun Apr 16 20:33:19 2006  Ben Pfaff  <blp@gnu.org>
518
519         * str.c (ds_vprintf): Don't try to write into the string if it is
520         null.
521
522 Sun Apr 16 18:52:41 2006  Ben Pfaff  <blp@gnu.org>
523
524         GNU standards require "file name" instead of "filename" in
525         documentation.  It's nice for our code to follow the convention
526         too.
527         
528         * message.h: (struct file_locator) Rename filename member to
529         file_name.  Updated all references.
530
531 Sun Apr 16 16:05:43 2006  Ben Pfaff  <blp@gnu.org>
532
533         Continue reforming error message support.  In this phase, we get
534         rid of VM() and the other msg() support for "verbosity", replacing
535         it by a new function verbose_msg().
536
537         * message.h: (enum ERR_CLASS_COUNT) Renamed ERR_CLASS_CNT.
538         (enum ERR_CLASS_MASK) Removed.
539         (enum ERR_VERBOSITY_SHIFT) Removed.
540         (enum ERR_VERBOSITY_MASK) Removed.
541         (macro VM) Removed.
542
543 Sun Apr 16 11:48:07 2006  Ben Pfaff  <blp@gnu.org>
544
545         Start reforming error message support.  In this phase, we get rid
546         of "installation errors" and change all uses of msg() in the
547         output drivers to uses of error() or error_at_line().
548
549         * message.h: Remove IE, IS enums.
550
551 Mon Apr  3 11:10:21 2006  Ben Pfaff  <blp@gnu.org>
552
553         * str.c: (ds_separate) Change interface for cleanliness and
554         consistency with ds_tokenize(), and rewrite to shorten and
555         simplify.  Updated all callers.
556         (ds_tokenize) New function.
557
558 Fri Mar 31 10:38:46 2006  Ben Pfaff  <blp@gnu.org>
559
560         Add freaderror() analogous to fwriteerror() in gnulib.
561
562         * freaderror.c: New file.
563
564         * freaderror.h: New file.
565
566 Thu Mar 30 16:15:37 2006  Ben Pfaff  <blp@gnu.org>
567
568         * str.c: (ds_create) Adjust capacity selection.
569         (ds_init) Use MAX macro for clarity.
570         (ds_create_substr) Rewrote.
571         (ds_replace) Renamed ds_assign_c_str(), reimplemented.  Changed
572         all callers to use a ds_assign_*() function.
573         (ds_init_substring) New function.
574         (ds_assign_string) New function.
575         (ds_assign_substring) New function.
576         (ds_assign_buffer) New function.
577         (ds_assign_c_str) New function.
578         (ds_truncate) Rewrote for clarity.
579         (ds_rpad) Reimplement in terms of ds_putc_multiple().
580         (ds_ltrim_spaces) Reimplement.
581         (ds_trim_spaces) New function.
582         (ds_separate) New function.
583         (ds_c_str) Make tolerant of null pointer, allowing static
584         initialization of strings.
585         (ds_find) Rename ds_span(), change interface.
586         (ds_n_find) Rename ds_cspan(), change interface.
587         (ds_at) New function.
588         (ds_first) Reimplement in terms of ds_at().
589         (remove_comment) New function.
590         (ds_get_config_line) Reimplement in terms of other functions.
591         Change type of LINE_NUMBER parameter.  Updated all callers.
592         (ds_vprintf) Modify for clarity.
593         (ds_putc) Better to be safe than sorry.
594         (ds_putc_multiple) New function.
595
596         * str.h: (struct string) Reorder members.
597         (macro DS_INITIALIZER) New macro that can be used to initialize a
598         string (as empty).
599         (ds_c_str) Remove inline version.
600
601 Tue Mar 28 13:49:11 WST 2006 John Darrington <john@darrington.wattle.id.au>
602
603         * str.[ch]: New functions ds_create_substr, ds_find, ds_n_find, 
604         ds_ltrim_spaces
605
606 Sat Mar  4 12:59:01 2006  Ben Pfaff  <blp@gnu.org>
607
608         * compiler.h: New file.
609
610 Sat Mar  4 11:55:16 2006  Ben Pfaff  <blp@gnu.org>
611
612         * str.h: Now assume that sprintf() returns the correct value.
613         Always implement spprintf as a static inline function.  Change
614         nsprintf, nvsprintf to simple macros that call sprintf, vsprintf.
615
616         * str.c: Remove spprintf, nsprintf, nvsprintf conditional
617         definitions.
618
619 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
620         
621         * Moved files from src directory