The compiler produces a lot of errors when linking why.cpp against inter_proto.h (that has the real function signatures) instead of entry.h, but it's the only way to verify that the parameters are coherent.
Sorry for going back and forth with constness, but in some cases it was impossible to ensure that input params aren't overwritten, thus I took const away to avoid making promises that can't be met (see the case of fetch that uses a supposedly input-only param to return data). Overwriting memory that was declared const initially is a serious error in C++ with undefined outcome so we better do not lie.
1. Avoid ALLR memory allocation routine (use new / delete).
2. Use common (TypedHandle) class to control consistency of handles.
3. Make ctors and dtors work - in most cases more work is needed to make them meaningful.
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
function signatures
variables in local scope
BOOLEAN -> bool
TEXT[32] as SqlIdentifier for DYN
Stop random garbage in firebird.msg's bytes 8 to 11
some cleanup
placed some variables in context
fixed some function signatures
closed a few possible buffer overruns
sorry to the platform maintainers, I can't verify what I did for non-Win32 builds