8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 00:43:02 +01:00
firebird-mirror/doc/cleaning-todo.txt
2005-04-03 06:59:41 +00:00

61 lines
1.7 KiB
Plaintext

Cleaning todo.
Taken from Blas' v1.5 checklist and revised for v2 on 2005-04-03 by Claudio.
The order is not significant.
Macros
M1.- Remove NOT_USED_OR_REPLACED Macro
Pending.
M2.- Remove PYXIS macro
Done.
M3.- Remove NO_CHECKSUM macro (and CCH_Checksum function in cch.cpp)
Not agreed still.
M4.- Remove GDS_VAL and GDS_REF macros.
Done.
M5.- Remove NULL_PTR macro
Done.
M6.- Remove BOOLEAN, TRUE and FALSE macros and replace with keywords.
Done where except some places where it doesn't make sense to remove them.
M7.- Remove TEXT and SCHAR macros.
Tricky and in some places SCHAR is really used as signed char.
Code
C1.- Remove warnings (excluding parentheses, unused var, non complete switches and pragmas)
Mostly done.
C2.- Define (type-safe?) unions for nod_arg and lls_object.
Nod_arg is used in several places of the code to contain pointers to several kinds of objects or numbers, whether is defined as pointer to xxx_nod.
The same happends with lls_object in lls (linked list) where the lls_object can store pointers or numbers, whether is defined as pointer to xxx_nod.
See gpre.h nod_arg in gpre_nod struct and lls_object in lls struct.
Another solution exists.
C3.- Modify gds__msg_format and derivated functions to use arglist instead of TEXT arguments. This change will also remove a lot of casts.
Not achieved, probably it needs a new alternative function.
C4.- Remove casts.
Partially done.
C5.- Replace macros with code with inline functions.
Partially done.
C6.- Assertion cleaning. Now there are in the code compiler and custom assertions.
AFAIK, done.
Builds
B1.- Posix take cpp generated from epp out of src directory.
Unknown state.
B2.- Build help.fdb from script.
Done.
B3.- Build msg.fdb from script.
Done.