Fix for initialization of buffer in grow_buffer.
[gedcom-parse.git] / ChangeLog
1 2002-12-15  Peter Verthez  <Peter.Verthez@advalvas.be>
2
3         * gom/*.c, gedcom/write.c, gedcom/date.c, gedcom/age.c: Support for
4         writing age values and data values (rudimentary).
5
6         * gom/*.c, gedcom/write.c: Completed writing of strings and xrefs.
7
8 2002-12-08  Peter Verthez  <Peter.Verthez@advalvas.be>
9
10         * gedcom/write.c: Writing long strings (with continuation), and
11         doubling of at characters.
12
13         * gedcom/gedcom.y, gedcom/buffer.*: Use safe buffer mechanism for
14         storing gedcom value (to avoid fixed buffer size).
15
16 2002-12-07  Peter Verthez  <Peter.Verthez@advalvas.be>
17
18         * gom/*: Use complete concatenated text instead of concatenating the
19         texts itself.
20
21         * gedcom/gedcom.y: Pass complete concatenated text in end callback
22         (this causes a backward incompatibility in the end record callback!)
23
24 2002-12-04  Peter Verthez  <Peter.Verthez@advalvas.be>
25
26         * gedcom/write.c, gom/gom.c: Beginnings of write support.
27
28 2002-12-01  Peter Verthez  <Peter.Verthez@advalvas.be>
29
30         * gedcom/encoding.c (to_internal): Use the conv_buffer interface
31         from utf8/utf8-convert.c.
32
33 2002-11-30  Peter Verthez  <Peter.Verthez@advalvas.be>
34
35         * utf8/utf8-convert.c: More general conversion interface (extracted
36         from utf8-locale.c and gedcom/encoding.c).
37
38 2002-11-24  Peter Verthez  <Peter.Verthez@advalvas.be>
39
40         * gedcom/message.c: Extracted safe buffer mechanism to buffer.c
41         for reuse.
42
43 2002-11-22  Peter Verthez  <Peter.Verthez@advalvas.be>
44
45         * gom/gom_modify.c: Check whether given strings are valid.
46
47         * utf8/utf8.c: Functions for checking UTF-8 strings and computing
48         length.
49
50 2002-11-04  Peter Verthez  <Peter.Verthez@advalvas.be>
51
52         * gedcom/multilex.c, all: Use dgettext instead of gettext => no more
53         need of textdomain().
54
55 2002-11-03  Peter Verthez  <Peter.Verthez@advalvas.be>
56
57         * gedcom/multilex.c (gedcom_parse_file): Move setlocale call to
58         gedcom_init, make strdup of saved textdomain (to avoid corruption).
59
60         * all: Removed support for dmalloc (valgrind is much better and doesn't
61         require changing the sources).
62
63         * m4/gedcom.m4: Added m4 macro for configure.in support.
64
65 2002-11-01  Peter Verthez  <Peter.Verthez@advalvas.be>
66
67         * gedcom/gedcom_*.lex: A pointer with only one character between the
68         at signs is also valid.
69
70         * gedcom/xref.c (is_valid_pointer): New function (also checks for
71         maximum size).
72
73         * include/gom.h: Added links to the definitions in the Gedcom standard.
74
75         * all: update of documentation
76
77 2002-10-30  Peter Verthez  <Peter.Verthez@advalvas.be>
78
79         * gedcom/gedcom_lex_common.c, gedcom/multilex.c: Fix for line numbering
80         bug (bug 613480).
81
82 2002-10-28  Peter Verthez  <Peter.Verthez@advalvas.be>
83
84         * release 0.17.2
85           This is another test release
86
87 2002-10-27  Peter Verthez  <Peter.Verthez@advalvas.be>
88
89         * gedcom/Makefile.am: Put generated lex and yacc files also in dist.
90
91         * doc/Makefile.am: Put generated file gomxref.html also in dist (so
92         perl isn't needed at make-time).
93
94         * utf8/utf8-locale.c (convert_utf8_to_locale): Set conv_fails on total
95         conversion failure too.
96
97         * all: Further small portability fixes.
98
99 2002-10-26  Peter Verthez  <Peter.Verthez@advalvas.be>
100
101         * t/output/*: Reference output for the tests; compare the actual test
102         output to these files.
103
104 2002-10-23  Peter Verthez  <Peter.Verthez@advalvas.be>
105
106         * Makefile.inc: Portability fix: 'if ! diff ...' isn't always supported
107         by sh.
108
109         * include/Makefile.am: Portability fix: grep isn't always understanding
110         full regex syntax.
111
112         * utf8/Makefile.am, configure.in: Only link in libcharset if libiconv
113         is not used.
114
115 2002-10-21  Peter Verthez  <Peter.Verthez@advalvas.be>
116
117         * all: Further portability fixes to Makefile.am and such.
118
119 2002-10-20  Peter Verthez  <Peter.Verthez@advalvas.be>
120
121         * */Makefile.am: Fixes for using included gettext.
122
123         * intl/Makefile.in: Hack for generating libtool convenience library
124         instead of shared library.
125
126         * README: Modify at dist instead of via configure.in (GNU make is used
127         anyway).
128
129         * intl/*: Upgraded to gettext 0.10.38 (to have extra functions, such
130         as bind_textdomain_codeset).
131
132 2002-10-14  Peter Verthez  <Peter.Verthez@advalvas.be>
133
134         * gedcom/encoding.c (to_internal): Add ICONV_CONST for portability.
135
136         * utf8/utf8-locale.c: Add forgotten header string.h
137
138 2002-10-13  Peter Verthez  <Peter.Verthez@advalvas.be>
139
140         * Makefile: Require GNU make to be used -> normal makefile is then
141         GNUmakefile in top directory.
142
143         * README, doc/index.html: Generate from *.in via configure (for
144         portability).
145
146         * utf8/utf8-locale.c, utf8/libcharset/: Use locale_charset instead of
147         nl_langinfo directly, for portability.
148
149 2002-10-05  Peter Verthez  <Peter.Verthez@advalvas.be>
150
151         * release 0.17.1
152           This is a test release
153
154 2002-10-04  Peter Verthez  <Peter.Verthez@advalvas.be>
155
156         * iconv/libiconv/*: libiconv changes for ANSEL encoding.
157
158 2002-10-01  Peter Verthez  <Peter.Verthez@advalvas.be>
159
160         * ansel/ANSI_Z39.47.c: Fixes to ansel decoding and (mostly) encoding.
161
162 2002-09-28  Peter Verthez  <Peter.Verthez@advalvas.be>
163
164         * all: Portability fixes and support for libiconv.
165
166 2002-09-22  Peter Verthez  <Peter.Verthez@advalvas.be>
167
168         * gedcom/xref.c, include/gedcom.h.in: Added functions to retrieve, add,
169         link/unlink and delete cross-references.
170
171         * gedcom/gedcom_1byte.lex, gedcom/gedcom_lex_common.c: Added a function
172         to check whether a (UTF-8) string is a valid token; bypass iconv
173         conversion for this.
174
175         * gedcom/*: Fixed memory leaks reported by valgrind.
176
177 2002-09-21  Peter Verthez  <Peter.Verthez@advalvas.be>
178
179         * t/standalone.c: Close outfile *after* the last output is done...
180
181         * gedcom/gedcom_*.lex, gedcom/gedcom_lex_common.c: Workaround for
182         memory leak in flex.
183
184         * gedcom/encoding.c: Clean up environment at exit.
185
186 2002-09-15  Peter Verthez  <Peter.Verthez@advalvas.be>
187
188         * gedcom.h.in, gedcom/*, gom/*: Take care of const correctness.
189
190 2002-09-13  Peter Verthez  <Peter.Verthez@advalvas.be>
191
192         * include/gom.h: Add include file to be able to recognize __BEGIN_DECLS
193
194         * doc/make_gom_xref: Corrected 'Generated from' string.
195
196 2002-09-12  Peter Verthez  <Peter.Verthez@advalvas.be>
197
198         * release 0.17
199
200         * gedcom/gedcom_lex_common.c, gedcom/interface.c, gedcom/message.c:
201         Fixes for internationalization.
202
203         * doc/make_gom_xref, doc/usage.html: Documentation for the gedcom
204         object model.
205
206 2002-09-09  Peter Verthez  <Peter.Verthez@advalvas.be>
207
208         * gom/*: First check-in of gedcom object model.
209
210 2002-09-08  Peter Verthez  <Peter.Verthez@advalvas.be>
211
212         * all: More thorough error checking on library calls.
213
214 2002-09-01  Peter Verthez  <Peter.Verthez@advalvas.be>
215
216         * gedcom/gedcom.y: Use XREF_ANY for an association instead of XREF_INDI
217
218         * include/gedcom.h.in, gedcom/xref.c: Added XREF_ANY for when type of
219         xref_value is not known yet.  Added function gedcom_get_by_xref.
220
221 2002-08-28  Peter Verthez  <Peter.Verthez@advalvas.be>
222
223         * gedcom/interface.c: A little more checking (for duplicate
224         registration).
225
226         * gedcom/age.c, gedcom/age.h, gedcom/gedcom.y, include/gedcom.h,
227         t/standalone.c:
228         Parsing age values.
229
230 2002-08-25  Peter Verthez  <Peter.Verthez@advalvas.be>
231
232         * gedcom/xref.c: Clean up xref table at exit (not after check), or when
233         new file is parsed.
234
235         * include/gedcom.h.in, gedcom/interface.c, t/standalone.c: Added
236         extra argument to callback functions: the record/element identifier.
237
238 2002-08-16  Peter Verthez  <Peter.Verthez@advalvas.be>
239
240         * gedcom/compat.*, gedcom/gedcom.y: Moved all compatibility handling
241         functions to compat.c; let default charset depend on the program.
242
243         * t/test_script: Check for a core file.
244
245         * release 0.16
246
247         * t/dates.test, t/encoding_error.test: New tests.
248
249         * t/utf8-locale.c: Remove conversion warning at compilation.
250
251         * t/test_script: Enhancements to use script outside 'make check'.
252
253         * t/standalone.c, t/bogus.test: Parse bogus file only if enabled
254         via option.
255
256         * t/Makefile.am: Added rule to be able to perform single tests.
257
258         * gedcom/encoding.c, gedcom/gedcom_lex_common.c: Handle illegal
259         characters in to_internal (to avoid crashes).
260
261         * Lots of files: Add compability for Lifelines.
262
263         * Makefile.inc, gedcom/Makefile.am, gedcom/gedcom_lex_common.c,
264         gedcom/gedcom_date.lex:
265         Added rule that can help to avoid unnecessary recompilation of lex
266         files.  It generates a new include file only when necessary: use this
267         one in lex files.
268
269 2002-04-08  Peter Verthez  <Peter.Verthez@advalvas.be>
270
271         * t/minimal.test: Added test on a minimal GEDCOM file.
272
273 2002-03-27  Peter Verthez  <Peter.Verthez@advalvas.be>
274
275         * release 0.15
276
277         * gedcom/multilex.c: Make the use of gedcom_init() mandatory.
278
279 2002-03-17  Peter Verthez  <Peter.Verthez@advalvas.be>
280
281         * gedcom/gedcom.y: Graceful error handling on bogus input.
282
283         * t/path1.test, t/path2.test, t/pathtest.c: New tests (for the
284         GCONV_PATH environment variable).
285
286         * Moved the test program to the t subdirectory.
287
288         * standalone.c, doc/usage.html: Use of the gedcom_init() function.
289
290         * gedcom/multilex.c, gedcom/encoding.*: Added gedcom_init() function
291         to avoid problem with GCONV_PATH environment variable (see note in
292         gedcom/encoding.c).
293
294 2002-01-22  Peter Verthez  <Peter.Verthez@advalvas.be>
295
296         * gedcom/gedcom.y, gedcom/compat.c, gedcom/compat.h: Added
297         compatibility handling for ftree.
298
299 2002-01-20  Peter Verthez  <Peter.Verthez@advalvas.be>
300
301         * release 0.14
302
303         * restructured the test setup
304
305 2002-01-19  Peter Verthez  <Peter.Verthez@advalvas.be>
306
307         * gedcom.h: Renamed to gedcom.h.in: at configure, the VERSION
308         variables are substituted and the file gedcom.h is written
309
310         * utf8-locale.c: Added parameter to conversion from UTF-8 to locale,
311         to return number of conversion failures.
312
313 2002-01-16  Peter Verthez  <Peter.Verthez@advalvas.be>
314
315         * gedcom/xref.c: Make sure that the 'string' member of an xref always
316         contains a valid string.
317
318         * gedcom/gedcom.y: in use of INVALID_TAG: tag is struct instead of
319         simple string.
320
321         * gedcom/multilex.c (gedcom_parse_file): setlocale returns a string
322         in static storage, so must use strdup and free afterwards.
323
324 2002-01-15  Peter Verthez  <Peter.Verthez@advalvas.be>
325
326         * gedcom/encoding.c: Separate the modification of GCONV_PATH from the
327         rest of the initialization, and let it be called before main (necessary
328         because iconv_open will only look at GCONV_PATH once, and e.g. GTK
329         calls iconv_open very early).
330
331         * gedcom/gedcom.y: Don't allow the parser to continue if the conversion
332         context couldn't be opened, even if IGNORE_ERRORS.
333
334         * gedcom/multilex.c (gedcom_parse_file): Save the old locale (in case
335         the application had set it).
336
337 2002-01-13  Peter Verthez  <Peter.Verthez@advalvas.be>
338
339         * utf8-locale.c: Example implementation for conversion UTF-8 to
340         locale.
341
342 2002-01-12  Peter Verthez  <Peter.Verthez@advalvas.be>
343
344         * more documentation...
345
346 2002-01-10  Peter Verthez  <Peter.Verthez@advalvas.be>
347
348         * doc/parser.html: Start of character set explanation.
349
350         * enhancements to Makefiles for documentation.
351
352         * gedcom/Makefile.am, gedcom/gedcom_lex_common.c: Some bugfixes for the
353         standalone lexers.
354
355 2002-01-05  Peter Verthez  <Peter.Verthez@advalvas.be>
356
357         * release 0.13
358
359         * xref.*, gedcom.y, gedcom.h: Parse and process cross-references.
360
361         * encoding.c: Bugfixes in using the hash implementation of kazlib.
362
363         * interface.h: Add a variable to the GEDCOM_MAKE_* macros, to be able
364         to have two of these macros in one statement.  Move GEDCOM_MAKE_DATE
365         to date.h.
366
367 2002-01-03  Peter Verthez  <Peter.Verthez@advalvas.be>
368
369         * gedcom.y: Bugfix for context handling of tags that are grouped in
370         the yacc file.
371
372         * gedcom.y, gedcom.h, standalone.c, interface.*: Record can also
373         have a value (e.g. the NOTE record), so extra value necessary on
374         start record callback.
375
376         * gedcom.y: Correct value of NOTE element (opt_line_item was missing
377         an action).
378
379 2002-01-02  Peter Verthez  <Peter.Verthez@advalvas.be>
380
381         * lots of files: Pass the parsed tag value (integer) together with
382         the string value in the callbacks.  For this, a separate header is
383         auto-generated, containing the #defines from bison.
384
385         * t/test_script: Return exit code from testgedcom.
386
387         * gedcom/hash.*, gedcom/encoding.*: Use hash implementation from
388         kazlib (see AUTHORS for pointer).
389
390 2001-12-31  Peter Verthez  <Peter.Verthez@advalvas.be>
391
392         * release 0.12
393
394 2001-12-30  Peter Verthez  <Peter.Verthez@advalvas.be>
395
396         * all: Added some initial documentation.
397
398         * gedcom/gedcom.y: Completed the calling of callbacks.
399
400 2001-12-29  Peter Verthez  <Peter.Verthez@advalvas.be>
401
402         * gedcom/gedcom_date.y: Added graceful fallback for date parse errors:
403         put everything as a 'date phrase'.
404
405 2001-12-28  Peter Verthez  <Peter.Verthez@advalvas.be>
406
407         * gedcom_date.*, date.*: Parsing dates via a separate yacc parser.
408
409         * gedcom/calendar/*: Calendar routines by Scott E. Lee
410
411         * gedcom.y: Added some more callbacks (not complete yet)
412
413 2001-12-23  Peter Verthez  <Peter.Verthez@advalvas.be>
414
415         * include/gedcom.h: Add some declarations so that the external header
416         can be used in C++ programs.
417
418 2001-12-22  Peter Verthez  <Peter.Verthez@advalvas.be>
419
420         * Makefile.am, gedcom/Makefile.am: Don't link libgedcom with libintl:
421         leave that to the applications.
422
423 2001-12-15  Peter Verthez  <Peter.Verthez@advalvas.be>
424
425         * release 0.11
426         Moved CVS repository to sourceforge.net (project gedcom-parse)
427
428 2001-12-10  Peter Verthez  <Peter.Verthez@advalvas.be>
429
430         * all: Use of gettext.
431
432         * gedcom/Makefile.am: Support for the lexer test programs.
433
434         * all: Moved to LGPL license.
435
436 2001-12-09  Peter Verthez  <Peter.Verthez@advalvas.be>
437
438         * gedcom/encoding.c (init_encodings): Put data directory of libgedcom
439         in the GCONV_PATH environment variable (for the ANSEL encoding).
440
441         * release 0.10
442
443         * all: Full move to autoconf/automake.
444
445 2001-12-08  Peter Verthez  <Peter.Verthez@advalvas.be>
446
447         * all: Further specification of interface: message handler.
448         Start of specification of callbacks.
449
450 2001-12-03  Peter Verthez  <Peter.Verthez@advalvas.be>
451
452         * Uploaded release 0.9 to genes at SourceForge.
453
454 2001-12-02  Peter Verthez  <Peter.Verthez@advalvas.be>
455
456         * release 0.9
457
458         * gedcom.h, Makefile: Add dmalloc testability.
459
460         * all: Reset the state properly for parsing new files.
461
462         * release 0.8
463
464         * encoding.c: Specify explicitly the output buffer for to_internal:
465         used to put pointers and tags in different output buffer.
466
467         * gedcom_lex_common.c: New file containing all lex actions (is common
468           for all lexers).  Better checks for maximum lengths.
469
470 2001-12-01  Peter Verthez  <Peter.Verthez@advalvas.be>
471
472         * gedcom_*.lex: Return level number together with OPEN token.
473
474 2001-11-27  Peter Verthez  <Peter.Verthez@advalvas.be>
475
476         * gedcom.enc: Adapt default iconv encoding names (to also support
477         glibc-2.1.x).
478
479 2001-11-25  Peter Verthez  <Peter.Verthez@advalvas.be>
480
481         * all: added proper copyright notice (copyright to the Genes
482         Development Team)
483
484         * release 0.7
485           Uploaded to genes at SourceForge.
486
487         * all: general cleanup, making sure everything is in CVS
488
489 2001-11-24  Peter Verthez  <Peter.Verthez@advalvas.be>
490
491         * release 0.6
492
493         * ANSEL decoding added.
494
495 2001-11-23  Peter Verthez  <Peter.Verthez@advalvas.be>
496
497         * release 0.5
498
499         * Now with encoding mapping via configuration file.
500
501 2001-11-16  Peter Verthez  <Peter.Verthez@advalvas.be>
502
503         * release 0.4
504
505         * Now with full unicode support.
506
507 2001-11-04  Peter Verthez  <Peter.Verthez@advalvas.be>
508
509         * release 0.3
510
511         * Compatibility mode implemented.
512
513 2001-11-01  Peter Verthez  <Peter.Verthez@advalvas.be>
514
515         * release 0.2
516
517         * Now with full error handling of tags and subtags.
518
519         * release 0.1
520
521         * Now covering the entire GEDCOM spec, without error handling.
522