
Hi everyone, This patch fixes the Fcode evaluation of b(field) which was implemented incorrectly. With this patch applied, corruption seen in several of the package words for Milax/Martux has now disappeared. Included below are the Fcode test cases I used (courtesy of Milax): \ Test Fcode struct...field...constant (no headers) \ Forth: struct /x field >filesize /x field >offset /x field >block0 constant /file-record 0 >offset . here cc c, \ offset16 a5 c, \ 0 02 c, 48 c, \ /x b5 c, 08 c, 00 c, \ new-token be c, \ b(field) 02 c, 48 c, \ /x b5 c, 08 c, 01 c, \ new-token be c, \ b(field) 02 c, 48 c, \ /x b5 c, 08 c, 02 c, \ new-token be c, \ b(field) b5 c, 08 c, 03 c, \ new-token ba c, \ b(constant) a5 c, \ 0 08 c, 01 c, \ Fcode #801 9d c, \ Display stack 00 c, \ End \ Headers version here cc c, \ offset16 a5 c, \ 0 02 c, 48 c, \ /x b6 c, 09 c, 3e c, 66 c, 69 c, 6c c, 65 c, 73 c, 69 c, 7a c, 65 c, \ named-token (>filesize) 08 c, 00 c, be c, \ b(field) 02 c, 48 c, \ /x b6 c, 07 c, 3e c, 6f c, 66 c, 66 c, 73 c, 65 c, 74 c, \ named-token (>offset) 08 c, 01 c, be c, \ b(field) 02 c, 48 c, \ /x b6 c, 07 c, 3e c, 62 c, 6c c, 6f c, 63 c, 6b c, 30 c, \ named-token (>block0) 08 c, 02 c, be c, \ b(field) b6 c, 0c c, 2f c, 66 c, 69 c, 6c c, 65 c, 2d c, 72 c, 65 c, 63 c, 6f c, \ named-token (/file-record) 72 c, 64 c, 08 c, 03 c, ba c, \ b(constant) a5 c, \ 0 08 c, 01 c, \ Fcode #801 9d c, \ Display stack 00 c, \ End ATB, Mark. -- Mark Cave-Ayland - Senior Technical Architect PostgreSQL - PostGIS Sirius Corporation plc - control through freedom http://www.siriusit.co.uk t: +44 870 608 0063

On 5/25/09, Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk> wrote:
Hi everyone,
This patch fixes the Fcode evaluation of b(field) which was implemented incorrectly. With this patch applied, corruption seen in several of the package words for Milax/Martux has now disappeared. Included below are the Fcode test cases I used (courtesy of Milax):
Thanks, applied (r499).
participants (2)
-
Blue Swirl
-
Mark Cave-Ayland