1 Fri Oct 10 13:43:18 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
3 * tcl-asn/makefile, tcl-asn/asnwish.c, tcl-asn/beredit, compiler/core/val-parser.c, tcl-asn/README, c-lib/src/tbl-gen.c, compiler/core/define.c, c++-examples/simple/good-pr.ber, c-examples/simple/good-pr.ber, version.h, README:
4 Corrected bug in generic table decoder wrt. indefinite length elements
5 Corrected compiler access to freed memory (bug reported by Markku Savela)
6 Broke asnwish.c into two pieces so that one can build ones on wish
7 Added beredit tool (based on asnwish, allowes to edit BER messages)
9 Tue Sep 16 15:05:10 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
11 * tbl-tools/berdecode/berdecode.c: Changed default value of strip to 0.
13 * entry.html: Documented current situation
15 Tue Sep 16 14:57:59 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
17 * README: Proper description of last-minute changes
19 * asn1specs/p-rec.asn1, tbl-example/p-rec.ber:
20 Added test for "tag dividable by 128" case.
22 * c-lib/src/tbl-enc.c, c-lib/src/tbl-gen.c:
23 Fixed "tag dividable by 128" case.
24 Fixed problem of peeking beyond tag size.
26 Fri Sep 5 07:15:06 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
28 * tcl-asn/asnwish.c: Picky compiler mods
30 Thu Sep 4 13:54:10 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
32 * tbl-tools/berdecode/berdecode.c, c++-lib/src/asn-list.C, configure.in:
33 A little more portability
35 Wed Sep 3 12:50:33 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
37 * compiler/makefile: Shifted parse and lex
39 * tcl-asn/makefile, tcl-asn/asnwish.c:
40 Reworked asnwish to neither strip nor encapsulate; instead,
41 buffer reads during decoding incrementally Tcl_Read the channel.
43 * c-lib/src/tbl-enc.c, c-lib/src/asn-tag.c:
44 Patch to tag decoding for tags > 2^14 (thanks to Enrico Badella)
45 Patch to TblEncTag to emit final 0x00 if previous octet signals continuation
47 * c++-lib/src/asn-tag.C:
48 Patch to tag decoding for tags > 2^14 (thanks to Enrico Badella)
50 Mon Sep 1 14:21:03 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
52 * compiler/core/err-chk.c: Improved error output in certain cases.
54 Thu Aug 28 09:48:08 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
56 * README, entry.html, ChangeLog: Added description of changes
58 * compiler/core/lex-asn1.l, compiler/core/parse-asn1.y:
59 Reworked number range checking, only gives warning now.
61 Wed Aug 27 15:56:09 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
63 * tcl-asn/README, tcl-asn/asnwish.c, tcl-asn/makefile, tbl-tools/berdecode/berdecode.c, tbl-tools/berdecode/makefile, tbl-tools/berdecode/README, tbl-tools/makefile, c-lib/src/tbl-dbg.c, c-lib/src/tbl-gen.c, c-lib/inc/tbl-dbg.h, c-lib/inc/tbl-gen.h, c-lib/makefile:
64 Added generic table decoding, debug routines, berdecode, and asnwish.
66 * c++-lib/src/asn-bits.C:
67 GetBit now returns 0 or 1, not 0 or <#bit>, even if bool type is emulated.
69 * version.h, makefile:
70 Added generic table decoding, debug routines, berdecode, and asnwish.
72 Thu Jun 19 09:32:22 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
74 * README: Added 1.3b3 change description
76 * doc/makefile: Disabled making new doc due to new version string.
78 * compiler/boot/tbl.h, compiler/boot/tbl.c, c-lib/boot/tbl.h, c-lib/boot/tbl.c:
81 * version.h: Fixed release date.
83 * tbl-tools/ptbl/pasn1.c, compiler/core/lex-asn1.l, compiler/core/parse-asn1.y, compiler/boot/tbl.c, compiler/boot/tbl.h, compiler/core/gen-tbls.c, c-lib/boot/tbl.h, c-lib/src/tbl-util.c, c-lib/boot/tbl.c, asn1specs/tbl.asn1, version.h:
84 Added isPdu flag to tables. Added value range checks during parsing.
86 Wed May 7 15:20:57 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
88 * README, tbl-tools/ptbl/pasn1.c, compiler/core/gen-tbls.h, compiler/core/snacc.c, c-lib/inc/tbl-incl.h, compiler/core/gen-tbls.c, asn1specs/tbl.asn1, version.h:
89 Added (limited) size constraints, bitstring and enumeration names to tables
91 * compiler/back-ends/c-gen/gen-vals.c:
92 Fixed bug in C value string generation.
94 Mon Apr 7 13:14:16 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
96 * README: Final README for 1.3b1
98 * snacc.h: Made more C++ readable (credits to Steve Walker)
100 Thu Mar 20 15:50:25 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
102 * version.h, README: Push to 1.3b1.
104 Thu Mar 13 14:48:28 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
106 * compiler/core/parse-asn1.y:
107 Parsed SEQUENCE SIZE(..) OF as SET, corrected.
109 * compiler/boot/tbl.h, compiler/boot/tbl.c, compiler/back-ends/idl-gen/gen-code.c, c-lib/src/print.c, c-lib/src/asn-tag.c, c-lib/inc/asn-config.h, c-lib/boot/tbl.h, c-lib/boot/tbl.c, c-lib/boot/asn-useful.h, c-lib/boot/asn-useful.c, c-lib/makefile, c++-lib/makefile, version.h:
110 Improved dependency generation for stupid makedepends.
111 Corrected PeekTag to peek into buffer only as far as necessary.
112 Added installable error handler.
113 Fixed small glitch in idl-code generator (Markku Savela <msa@msa.tte.vtt.fi>).
115 Mon Mar 3 11:58:34 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
117 * compiler/core/parse-asn1.y, compiler/boot/tbl.c, compiler/boot/tbl.h, compiler/makefile, c-lib/boot/tbl.c, c-lib/boot/tbl.h, c-lib/boot/asn-useful.c, c-lib/boot/asn-useful.h, c++-examples/test-lib/makefile, acconfig.h, makefile, ChangeLog:
118 Final pre-delivery stuff (I hope).
120 Fri Feb 28 13:43:53 1997 Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>
122 * version.h: New version #.
124 * .cvsignore: Added config.cache
126 * tcl-lib/snacced.tcl, tcl-example/edex1.asn1, tcl-lib/selbox.tcl, compiler/core/parse-asn1.y, compiler/core/print.c, compiler/back-ends/c-gen/gen-dec.c, compiler/back-ends/c++-gen/gen-code.c, c-lib/src/tbl-util.c, compiler/makefile, c-lib/src/hash.c, c-lib/src/nibble-alloc.c, c-lib/src/tbl-free.c, c-lib/src/asn-real.c, c-lib/src/asn-tag.c, c-lib/inc/asn-any.h, c-lib/inc/hash.h, c-lib/src/asn-any.c, c++-lib/src/tkAppInit.c, c-lib/tbl.h.patch, c++-lib/src/meta.C, c++-lib/src/tcl-if.C, c++-lib/src/asn-oid.C, c++-lib/src/asn-real.C, c++-lib/src/hash.C, c++-lib/src/asn-int.C, c++-lib/src/asn-octs.C, c++-lib/src/asn-bits.C, c++-lib/src/asn-bool.C, c++-lib/src/asn-enum.C, c++-lib/inc/meta.h, c++-lib/src/asn-any.C, c++-examples/test-lib/test-lib.C, c++-lib/inc/hash.h, c++-examples/test-lib/makefile, configure.in, snacc.h, acconfig.h:
127 Modifications collected for new version 1.3: Bug fixes, tk4.2.
129 Sun Feb 16 22:26:40 1997 rj <rj@masoms2.mas.hide>
131 * README: url corrected
133 * c-examples/test-lib/README, c-examples/any/example.c, c-examples/any/README, c++-lib/src/str-stk.C, c++-lib/src/print.C, c++-lib/src/hash.C, c++-lib/src/asn-tag.C, c++-lib/src/asn-len.C, c++-lib/src/asn-bool.C, c++-lib/src/asn-any.C, c++-lib/inc/str-stk.h, c++-lib/inc/print.h, c++-lib/inc/hash.h, c++-lib/inc/asn-type.h, c++-lib/inc/asn-tag.h, c++-lib/inc/asn-real.h, c++-lib/inc/asn-octs.h, c++-lib/inc/asn-list.h, c++-lib/inc/asn-incl.h, c++-lib/inc/asn-buf.h, c++-lib/inc/asn-bits.h, c++-examples/test-lib/README, c++-examples/any/README, asn1specs/ex1.asn1, asn1specs/any.asn1:
134 check-in of a few cosmetic changes
136 * README, ChangeLog, version.h: final release of snacc 1.2rj
138 * makefile: remove tcl-p when making clobber
140 * INITIAL: first check-in
142 * tcl-example/.cvsignore: ignore yet two more generated files
144 * doc/makefile: typo fixed
146 * c++-examples/any/.cvsignore, c-examples/any/.cvsignore:
147 ignore more generated files and directories
149 * c++-examples/simple/.cvsignore, c-examples/simple/.cvsignore:
150 ignore generated directories
152 * c-examples/test-lib/.cvsignore: ignore yet another generated file
154 * tbl-example/.cvsignore: ignore two more generated files
156 * tbl-tools/pval/.cvsignore, tbl-tools/ptbl/.cvsignore, tbl-tools/mkchdr/.cvsignore:
157 ignore yet another generated file
159 * makefile: correct path to configure script
161 * compiler/makefile: snacc is needed to generate the distfiles
163 * tcl-example/.cvsignore: ignore more generated files
165 * tbl-tools/mkchdr/.cvsignore: ignore yet another generated file
167 * tbl-example/.cvsignore, doc/.cvsignore:
168 ignore yet two more generated files
170 * doc/.cvsignore: ignore yet another generated file
172 * tcl-example/.cvsignore, tbl-tools/pval/.cvsignore, tbl-tools/ptbl/.cvsignore, tbl-tools/mkchdr/.cvsignore, tbl-example/.cvsignore, c-examples/test-lib/.cvsignore:
173 ignore the dependencies file
175 * c-examples/snmp/.cvsignore, c-examples/simple/.cvsignore, c-examples/any/.cvsignore, c++-examples/test-lib/.cvsignore, c++-examples/snmp/.cvsignore, c++-examples/simple/.cvsignore, c++-examples/any/.cvsignore:
176 ignore yet another file
178 * c++-lib/.cvsignore: ignore generated directories
180 * c++-lib/.cvsignore, compiler/.cvsignore:
181 ignore yet another generated file
183 * c-lib/.cvsignore: ignore more generated files and directories
185 * doc/thisnextafter.tex, doc/misc-defs.tex, doc/list-popup.eps, doc/str-popup.eps, doc/struct.eps, doc/simple.eps, doc/selbox.eps, doc/recur.eps, doc/example.eps, c-lib/tbl.h.patch:
188 * makefile: generate tcl-p before it is needed...
190 * configure.in, doc/intro-1.2.tex, c++-lib/makefile, c++-examples/snmp/makefile, c++-examples/simple/makefile, c++-examples/any/makefile:
191 made return *this after calling abort()'' a compile time option.
193 * maketail: rule to generate $(TCL-P) added
195 * makehead.in, doc/snacc.1, compiler/back-ends/c++-gen/gen-code.h, compiler/back-ends/c++-gen/gen-code.c:
196 made return *this after calling abort()'' a compile time option.
198 * compiler/core/snacc.c:
199 made ``return *this after calling abort()'' a compile time option.
201 * c++-lib/inc/asn-oid.h: construct in the order the members are defined
203 * tcl-example/makefile: remove more generated files
205 * compiler/back-ends/c++-gen/gen-code.c:
206 use the TIME_WITH_SYS_TIME flag (checked and generated by configure).
207 return *this after calling abort() for compilers that don't know about this volatile function.
208 comment out unused parameters, the compiler otherwise may complain.
211 let make clobber remove the link to install-sh that make made
212 let make clean remove more created files
215 let make clobber remove the link to install-sh that make made
217 * c++-lib/src/asn-oid.C: name lookup of \for' scoping
219 * c++-lib/inc/asn-null.h: comment out an unused argument
221 * c++-lib/inc/asn-len.h: make the unsigned value unsigned :-)
223 Sun Feb 16 05:22:42 1997 Robert Joop <rj@rainbow.in-berlin.de>
225 * ***** this is the end, my last words on my final snacc release, 1.2rj.10. *****
227 * lots of files and directories added to the various .cvsignore files.
229 * added a file INITIAL to explain the first steps necessary after
230 an initial cvs checkout.
232 * made ``return *this after calling abort()'' a compile time
235 * compiler/back-ends/c++-gen/gen-code.c: comment out unused
236 parameters, the compiler otherwise may complain.
238 * compiler/back-ends/c++-gen/gen-code.c: return *this after
239 calling abort() for compilers that don't know about this volatile
242 * compiler/back-ends/c++-gen/gen-code.c: use the
243 TIME_WITH_SYS_TIME flag (checked and generated by configure)
245 * changes for new ANSI `for' scoping
247 Sat Feb 15 19:09:43 1997 Robert Joop <rj@rainbow.in-berlin.de>
249 * configure.in and acconfig.h: check whether the compiler supports
250 volatile functions (and whether abort() is volatile). In member
251 functions, return *this after calling abort() for those stupid
252 compilers (they would otherwise abort with an error).
254 * tbl-tools/ and tbl-example/ directoies added.
256 * compiler/core/snacc.c: do not silently ignore the -tcl option if
257 not compiled for tcl code generation
259 * compiler/core/snacc.c: use the TIME_WITH_SYS_TIME flag (checked
260 and generated by configure)
262 * c++-lib/src/asn-list.C: names of Tcl*-functions fixed (obviously
263 they weren't needed :-)
265 * c++-lib/inc/tcl-if.h, c++-lib/src/tcl-if.C: `typename' appears
266 to be a reserved word in gcc 2.7, so prefix it with `_'
268 * c++-lib/src/asn-bits.C: dereferencing pointer to member function
269 is neither necessary nor allowed
271 * c++-lib/src/asn-type.C: "virtual" removed from functions. (fix
272 due to changed C++ language.)
274 Thu Sep 7 20:21:39 1995 Robert Joop (rj@rainbow.in-berlin.de)
276 * deep copying code added to C++ backend generated assignment
279 * c-lib/makefile and c++-lib/makefile: asn-useful.asn1 is compiled
280 with the -l 50 option, as recommended by MS in the documentation.
282 * compiler/back-ends/c++-gen/kwd.c: bool, true and false are
283 reserved words in new C++ (supported by gcc since version 2.6).
285 * new options -mA and -mC for snacc(1) that switch the names used
286 between those defined in the ASN.1 files and those used in the
287 generated C++ code. enum type MetaNameStyle introduced.
289 * c++-lib/src/tcl-if.C: duplicate code merged into a new function
290 SnaccTcl::gettypedesc().
292 * c++-lib/*: long int replaced by AsnIntType at a lot of
293 places. It shall provide a 32 bit integer type on all platforms.
294 new type introduced: AsnUIntType (32 bit unsigned integer type).
296 Thu Aug 17 17:01:59 1995 Robert Joop (rj@rainbow.in-berlin.de)
298 * c++-lib/*/asn-real.[hC]: recognize and return "±inf" for
299 PLUS-INFINITY/MINUS-INFINITY
301 * c++-lib/*/asn-enum.[hC]: AsnEnumTypeDesc gets its own TclGetVal
302 and TclSetVal functions.
304 * c++-lib/*/meta.[hC]: introduce an AsnEnumTypeDesc class with its
305 own TclGetDesc2 function that returns the value names but omits
308 * c++-lib/src/tcl-if.C &al.: set Tcl's errorCode variable
310 * c++-lib/{inc,src}: snacced.[hC] renamed to tcl-if.[hC]. class
311 SnaccEd renamed to SnaccTcl.
313 * the PDU flag belongs to the metacode, not only to the tcl
314 interface. (type and variable named adjusted)
316 Thu Jul 27 10:27:07 1995 Robert Joop (rj@rainbow.in-berlin.de)
318 * cpp macro TBL changed to TTBL since some type table code uses
321 * c++-lib/makefile: make $(TCL-P) if necessary.
323 * c++-lib/makefile: actions for stamp-useful rule: call diff only
324 if both input files exist.
326 * rfc1155-smi.asn1, rfc1157-snmp.asn1 and rfc1213-mib2.asn1
327 renamed from 1155-smi.asn1, 1157-snmp.asn1 and 1213-mib2.asn1 to
328 accomodate to snacc's new file name generation scheme.
330 Tue Jul 25 13:35:58 1995 Robert Joop (rj@rainbow.in-berlin.de)
332 * policy.h: added switch for (en|dis)abling the compilation of the
335 * compiler: PrintConditionalIncludeOpen() and
336 PrintConditionalIncludeClose() moved from
337 back-ends/c-gen/gen-code.[ch] to back-ends/cond.[ch].
339 * .../compiler/back-ends/c++-gen/gen-vals.c: use true/false
340 instead of AsnBool::true/false.
342 * the compiler is compiled from two files, tbl.h and tbl.c, it
343 generates itself. for bootstrapping purposes, initial versions are
344 supplied with the distribution.
346 Mon Jul 24 14:26:16 1995 Robert Joop (rj@rainbow.in-berlin.de)
348 * .../c++-lib: code extracted from AsnOcts::TclGetVal and
349 AsnOcts::TclSetVal (src/asn-octs.C) into ::debinify and ::binify
352 * Clone() added to AsnEnum.
354 * various C++ files: ``#error "..."'' instead of ``#error ...''
356 * c++-lib/*/asn-list.?: operator == and != return bool instead of int.
358 * .../maketail: the .C.o default rule now uses CXXFLAGS instead of
359 CFLAGS for compilation.
361 * .../c-lib and c++-lib call make recursively to generate the
362 different depencies for all the different makefiles.
364 * .../configure looks for tclsh(1)---the tcl-lib uses it to
365 construct the tclIndex file. .../configure doesn't look for Tcl/Tk
366 if the tclsh is absent.
368 * .../configure looks for patch(1)---the c-lib uses it to patch
371 * .../configure searches for tree-3.6's libtktree.a and sets
372 TREELIBS in .../makehead accordingly.
374 * type table tools and the example merged into the distribution:
375 .../tbl-tools/ and .../tbl-example.
377 * dummy action added to config.h.in and config.h rules to trick
378 many makes' overoptimization.
380 * snacc -h now prints the usage to stdout.
382 * bug report address changed to protect an innocent's mailbox :-)
384 * .../version.h contains the snacc version---it is included in the
385 compiler source and is used by the .../makefile upon tar-file
388 * configure checks for memset(3), memcpy(3) and memcmp(3) and
389 .../snac.h defines replacements using bzero(3), bcopy(3) and
390 bcmp(3) if necessary.
392 * .../compiler/core/mem.c: Realloc() now checks realloc(3)'s
395 * changed `_' to `-' in file names.
397 * file names in .../compiler/back-ends/ have been shortened for
398 redundant parts (e.g. c_gen/gen_c_code -> c_gen/gen_code or
399 c++_gen/c++_kwd -> c++_gen/kwd).
401 Sun Jul 23 12:51:24 1995 Robert Joop (rj@rainbow.in-berlin.de)
403 * an additional type description, AsnAliasTypeDesc, for type
404 definitions of the form ``TypeB ::= TypeA''. see the documentation
407 * allow for more than one PDU per .asn1 file set:
408 - each type description gets a bool flag, pdu.
409 - each type description gets accompanied with a create function
410 that returns a newly allocated object of its mirror type. the type
411 description contains a pointer to this function. the getTclPDU()
413 - compiler/core/meta.h: struct TclPDU becomes a linked list. it
414 gets a flag `used' to detect invalid command line arguments.
416 * additional function TclUnsetVal() to delete OPTIONAL members and
417 SEQUENCE OF and SET OF list elements.
419 *_getref() gets an additional optional argument, bool
420 create=false, to faciliate the different member access semantics
421 of TclGetVal() and TclSetVal().
423 * to accomodate to snacc's new file name generation scheme:
424 - useful.asn1 renamed to asn-useful.asn1
425 - any-test.[hC] renamed to any.[hC]
427 * by default, snacc now derives output file names from the .asn1
428 input file name instead of the module name. a global variable,
429 `keepbaseG', is used to toggle between old and new behaviour.
431 Sat Jul 22 22:49:25 1995 Robert Joop (rj@rainbow.in-berlin.de)
433 * use install-sh instead of install.sh, to prevent `make' implicit
434 rules from creating a file called install from it when there is no
437 Mon Feb 20 12:38:00 1995 Robert Joop (rj@rainbow.in-berlin.de)
439 * c{,++}_lib/makefile: remove stamp-useful before removing
442 Sun Feb 19 19:13:50 1995 Robert Joop (rj@rainbow.in-berlin.de)
444 * some c{,++}_examples/*/makefile: some make(1)s leave a trailing
445 `/' on $(@D). since some mkdir(1)s deny their cooperation with
446 such arguments, this slash has got to be stripped.
448 Sat Feb 18 14:12:23 1995 Robert Joop (rj@rainbow.in-berlin.de)
450 * in a lot of makefiles: dirname(1) and basename(1) do not exist
451 on every system. so we're using $(@D) and $(@F) instead.
453 * the code partially relied on big endianess. autoconf is used to
454 (un)define WORDS_BIGENDIAN accordingly and the byte order
455 dependent code parts have been fixed.
457 * instead of relying on (sizeof (int) == 4), autoconf now checks
458 some integer sizes and cpp is used to select appropiatly sized
461 * c++_lib/{inc/asn_list.h,src/asn_list.C}: #pragma
462 interface/implementation are GNU specific and need to be wrapped
463 (by #ifdef __GNUG__).
465 * configure.in, acconfig.h, misc .C files: added #define
466 HAVE_VARIABLE_SIZED_AUTOMATIC_ARRAYS (we need to check for this
467 since not every C++ compiler provides them.)
469 * snacc.h: added #defines GLASS and KHO for wrapping and enabling
470 of project and user specific code, resp.
472 Fri Feb 17 15:27:31 1995 Robert Joop (rj@rainbow.in-berlin.de)
474 * c_examples/simple/README: reflect the test script's integration
477 * makehead.in, maketail: added a small hack to find gcc's hidden
478 include directory to pass it to makedepend. this shall enable
479 X11's makedepend to find .h files a little more the way gcc does.
481 * configure.in, changes for autoconf 2.x
483 Mon Feb 13 15:43:10 1995 Robert Joop (rj@rainbow.in-berlin.de)
485 * miscelleanous makefiles: make depend builds snacc if and where
488 * makefiles changed to augment CPPFLAGS instead of overriding
491 * CFLAGS, CXXFLAGS and LDFLAGS moved from the various makefiles to
494 * settings for IEEE_REAL_FMT/IEEE_REAL_LIB moved from
495 {c_lib,c++_lib}/inc/asn_config.h to acconfig.h.
497 Mon Oct 10 01:59:50 1994 Robert Joop (rj@rainbow.in-berlin.de)
499 * compiler/back_ends/c++_gen/gen_c++_code.c: the list functions
500 Append(), Prepend(), InsertBefore() and InsertAfter() now set the
501 current element to the element just inserted.
503 Sat Oct 8 02:20:20 1994 Robert Joop (rj@rainbow.in-berlin.de)
505 * since autoconf substitutes in config.h.bot as well, we can't use
506 it. therefore it has been renamed to snacc.h and it includes the
507 config.h (generated by autoconf/configure) and policy.h (edited by
508 the person who wishes to compile/install/use snacc).
510 * the compiler is generated with a file it generates itself. for
511 bootstraping purposes, an initial version is supplied in the
512 distribution (c_lib/boot/asn_useful.[hc]).
514 * to complement the destructors, T::T (const T&) and
515 T &T::operator = (const T &) have been added to override the
516 defaults supplied by the compiler. reason: simple pointer
517 duplication may lead to unreferenced objects and to objects
518 referenced more than once (on which the destructors delete may
521 * three bugs in compiler/back_ends/c++_gen/gen_c++_code.c's list
522 functions fixed (IBM ENC detected and fixed it at only place only).
524 * at the same places as the below two points: code for a Tcl
527 * c++_lib/*: meta code for the basic types added. (and a little
528 glue code in compiler/core/snacc.c)
530 * compiler/back_ends/c++_gen/gen_c++_code.c: code added that (on
531 request) added meta information to the C++ classes generated.
533 * compiler/back_ends/c++_gen/gen_c++_code.c: turned character
534 pointers into constant character arrays.
536 * several `unsigned long int' turned into `size_t' (C++ code
539 Thu Oct 6 19:25:31 1994 Robert Joop (rj@rainbow.in-berlin.de)
541 * c++_lib/*: virtual inline functions (the destructor and the
542 Clone() function) moved from inc/*.h to src/*.C because g++ turns
543 every one of them into a static non-inline function in every file
544 where the .h file gets included.
546 Wed Sep 28 12:17:50 1994 Robert Joop (rj@rainbow.in-berlin.de)
548 * c++_lib/inc/asn_buf.h: fixed both Copy()'s name and
549 implementation to CopyOut() that always returns the number of
550 bytes copied out instead of 0 in case less than the requested
553 Sat Sep 17 20:07:29 1994 Robert Joop (rj@rainbow.in-berlin.de)
555 * compiler/back_ends/c++_gen/gen_c++_code.c: reordered the
556 functions to get rid of their annoying declarations.
558 Wed Sep 14 00:59:36 1994 Robert Joop (rj@rainbow.in-berlin.de)
560 * the constructors should initialize all pointers or else the
561 destructor may delete bogus pointers.
563 * c_lib/inc/asn_list.h: is unwise to #define unbalanced if()s!
565 * since i was still irritated by cpp standing for c++ and not the
566 C preprocessor, i renamed them to cxx (which is one known suffix
567 for C++ source files). since the standard #define is __cplusplus,
568 cplusplus would have been the more obvious choice, but it is a
571 * made Print() const (and some other, mainly comparison functions).
573 Thu Sep 1 01:11:17 1994 Robert Joop (rj@rainbow.in-berlin.de)
575 * compiler/core/snacc_config.h dissolved into mem.h and
578 * the empty statement in a
580 has often been overseen; the equivalent
583 has proven to be less error prone.
585 * off-topic: cvs and rcs fixed to recognize .C and .asn1 as
586 suffices for C++ and ASN.1 code, respectively.
588 Wed Aug 31 00:03:22 1994 Robert Joop (rj@rainbow.in-berlin.de)
590 * it is a good idea to have every .c file include its
591 corresponding .h file were its functions are declared, because
592 it's a very effictive way to let an ANSI compiler assert that
593 every function is defined with the same number and types of
594 arguments as it is declared with. proof: ParseValues() was
595 declared different than defined (different return type and
598 * for reasons unknown, the compiler files included two of the
599 various almost identical config.h files.
601 * compiler/back_ends/c++_gen/gen_c++_code.c: turned the huge
602 inline funtions into normal functions. (the change was actually
603 made by IBM ENC, but wasn't properly marked.) due to their size,
604 these inlines wouldn't get inlined anyway. due to their size they
605 wouldn't offer any speed advantage (the function call overhead
606 diminishes). instead, the compiler generated static functions in
607 every .C file were the .h file is included! this inflates the .o
608 files and executables real quick (i'm speaking of MBytes per
611 * integrating c{,++}_examples:
612 .../simple: test csh-script integrated into makefile.
614 Mon Aug 29 11:18:11 1994 Robert Joop (rj@rainbow.in-berlin.de)
616 * the dependencies have been moved into a separate file that is
617 not under cvs control. otherwise, the makefiles would inflate the
618 repository unnecessarily.
620 Sun Aug 28 11:18:23 1994 Robert Joop (rj@rainbow.in-berlin.de)
622 * config.h defines TRUE/FALSE for C only. for C++, the built-in
623 bool type accompanied by true/false is used. for C++ compilers
624 that don't have bool built-in, an equivalent enum is defined.
626 * merged .../tbl_{lib,include}/ with .../c_lib/. changes detected
628 - asn_any.h present in c_lib only.
630 - tbl_*/asn_len.[ch] has an additional function PeekEoc().
631 - tbl_include/asn_list.h has an additonal macro
632 FOR_REST_LIST_ELMT_RVS() and three additional functions,
633 GetAsnListElmtIndex(), AsnListFree() and GetAsnListElmt().
634 tbl_lib/asn_list.c defines only one additional function,
636 - asn_oid.h has the same extension as the compiler version.
637 - asn_real.c: the tbl version at two places has
641 since the latter is a statement without any effect, that's
642 probably the buggy version...
643 - tbl_*/asn_tag.[hc]: two additional macros, CONSIFY() and
644 DECONSIFY(), and an additional function, PeekTag().
645 - asn_useful.c: the c_lib version contains two dozen used
646 variables, so why not use the tbl version?
648 - files only found in tbl_include: gen_buf.h,
649 tbl{,_dec,_enc,_free,_gen_c_hdr,_incl,_print,_util}.h.
650 - files only found in tbl_lib: gen_buf.c,
651 tbl{,_dec,_enc,_free,_print,_util}.c.
652 - sbuf.[hc]: tbl uses functions, c_lib defines cpp macros.
654 * modified the makefiles to include depend, install, clean and
655 clobber phony targets following the usual conventions.
657 * INSTALL, mkinstalldirs and install.sh copied from autoconf-1.11.
659 * 1.0-to-1.1-changes renamed to NEWS. README.changes that starts
660 with a line reading ``Changes between 1.0 and 1.1'' merged into NEWS.
662 * collected common code from compiler/core/snacc_config.h,
663 c_lib/inc/asn_config.h and c++_lib/inc/asn_config.h into config.h.bot.
665 * adding support for configuration via GNU autoconf:
666 - writing a configure.in, acconfig.h, makehead.in.
667 - replace a lot of macros in the makefiles with an inclusion of a
668 makehead file generated by configure. since file inclusion has
669 been a feature supported since UNIX System III, i consider it
674 * inserting RCS keywords as a preparation for cvs import.
676 Sat Aug 27 11:59:08 1994 Robert Joop (rj@rainbow.in-berlin.de)
678 * fixed the developer's nightmare that for every tiny change,
679 virtually everything was remade.
681 * -DFLEX ain't necessary since flex defines FLEX_SCANNER already.
683 * renamed asn1.lex to lex-asn1.l and asn1.yacc to parse-asn1.y to
684 take advantage of make's default rules.
686 * collision of #define Free() in the compiler's mem.h and a member
687 called Free in c_lib's struct AnyInfo in asn_any.h resolved.
689 * changed the directory structure. the content of .../c_lib/ +
690 .../c_include/ was almost identical to that of .../src/c_lib/, so
691 i merged them. .../src/ isn't the only directory containing
692 source, so i renamed it to compiler. to sum it up:
695 .../src/back_ends .../compiler/back_ends
696 .../src .../compiler/core
697 .../src/c_lib -> merged with .../c_{lib,include}
698 .../c_lib .../c_lib/src
699 .../c_include .../c_lib/inc
700 .../c++_lib .../c++_lib/src
701 .../c++_include .../c++_lib/inc
703 the differences found between .../src/c_lib/ and
704 .../c_{lib,include}/:
705 - Malloc()/Free() vs. NibbleAlloc()
706 - snacc_config.h partially copied to asn_config.h
707 - for the compiler, struct OID in asn_oid.h contains an additional
709 - the functions AsnListConcat(), AsnListFree() and
710 GetAsnListElmtIndex() existed in the compiler version only.
711 the mixture of Asn1Alloc() in combination with Free() and free()
712 has been unified to using Asn1Free().
714 yet another almost identical copy of c_lib/ can be found in
715 .../tbl_{lib,include}/.
717 * since the code was quite inconsistent in respect of where lines
718 were broken (many short lines that unbroken are shorter than 72
719 columns were broken, and many long lines were broken into pieces
720 that were much longer than 80 columns), i took the liberty to
723 * some international rules of typography:
724 - put a space before an opening parenthesis, and one after a
726 - no space after an opening parenthesis, or before a closing one.
727 - no space before punctuation.
728 - one space after punctuation (in some countries two after a full
731 * a space somewhere between function name and first argument helps
732 to see that there are actually two words, not just one. for me,
733 AlongFunctionName(andanArgument, ...)
735 AlongFunctionNameCandanArgument, ...)
737 AlongFunctionName (andanArgument, ...)
739 * moved `*' and `&' from the type to the value. that's where C and
740 C++ bind them to! people are often mislead by this and generate
745 which they really meant. blame K&R, not me :-)
747 * removed trailing blank lines. they simply produce blank pages
748 when the file is printed out. some files had got a dozen of them!
750 * trailing white space removed. noted here because it might cause
751 problems when someone wants to integrate patches; but vi users
752 hate empty lines that aren't empty because of white space, since
753 it keeps some movement commands from working.
755 * one of IBM ENC's changes is the addition of C++ destructors.
756 this change was clearly marked and therefore i removed the
759 * i took the official snacc-1.1 distribution and made a diff(1) to
760 another version modified by IBM ENC. this diff has been merged
761 with the official version using `patch -D _IBM_ENC_`.