On 5/20/19 7:00 PM, Adriano dos Santos Fernandes wrote:
Hi!
We have ugly things related to API functions and public headers:
- Different ibase.h files
- why_proto.h API duplication
The main problem here is this - duplication of API in why_proto. As soon
as it will be gone most of mentioned issues will become OK automatically.
I do not remember why was such modification impossible in FB 1.5 but
remember there were some problems.
- FB_COMPILING_WHY_CPP
- different include files used internally and published
- different types (ISC_USHORT vs USHORT) used in same functions
- alt.cpp also implement API functions but does not define
FB_COMPILING_WHY_CPP
- some function under why_proto is in #ifdef JRD_IBASE_H, some not
I do want to try to simplify things.
For example, we may publish some (*_pub.h) headers under
include/firebird/impl.
In the past we had flat include directory, so I thought that header
machinery with sed was not to put new files under include. That should
not be a problem anymore.
Agreed.
I think y-valve implementation should use the public types (ISC_*).
Yes. In the past we tried to keep that API declarations as identical
with remote and jrd entries as possible. Now there is no such need,
public types are OK for public API.
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel