I see where is the confusion: by name table, I meant "definition table",
you _must_ keep the name of each function/procedure even, padding it with
a null byte _if_and_only_if_ the length of the name of the PROC/FN is odd...
The SB.INIPR then takes care to copy the name of each function in the
S*BASIC name table, which is actually byte sized. But if you fail to pad
properly the names in the definition table used by SB.INIPR, it will
point on the bad offset on for the next PROC/FN...
Thierry - I don't want to start an argument here (LOL)
The definition table for procedures and functions consists of a byte containing the length of the name followed by the name string. That is why the longest possible name is 255 characters.
You only therefore need the padding byte on even length names, not odd ones !!
You've had me pulling out the reference manual now...
table is:
word number of procedures
word pointer to routine
byte length of name of procedure
chrs procedure name
word 0 (indicate end of procedure names)
word number of functions
word pointer to routine
byte length of name of function
chrs function name
word 0 (indicate end of function names)
--
Rich Mellor
RWAP Services
35 Chantry Croft, Kinsley, Pontefract, West Yorkshire, WF9 5JH
TEL: 01977 610509
http://hometown.aol.co.uk/rwapsoftware
