Fixing the name table handling in DevLinker
|Assignee:||J. Templ||% Done:|
DevLinker.LinkDll causes a name table overflow (TRAP in DevLinker.Insert)
when the average of the involved name lengths is more than about 20.
This is caused by a fixed size of the name table that is appropriate
only when the names are shorter on average.
Reported by Rainer Neubauer, 2008-02-18
In addition, testing for the need to append the ".dll" suffix in DevLinker.Insert causes a TRAP
when the name table is filled with less than 4 characters.
Reported by Boris Ilov, 2013-08-26.
In addition, the CP compiler accepts longer names than DevLinker does.
This is caused by declaring Name as an ARRAY 40 OF SHORTCHAR in DevLinker instead of 256.
Reported by Josef Templ, 2015-01-15.
Refers to CPC 1.7 change list number 6.
Changes as proposed by Josef Templ. Refs: #24.
Fixes a logical error in Boris' proposal.
Introduces names as large as CP identifiers and introduces name table overflow handling similar to the fixups table instead of allocating a very large name table.
Signed-off-by: Josef Templ <email@example.com>