I created a template in HexEdit 3.2.
When I open a file using it in any version after 3.2 HexEdit gives me an error dialog "Template Scan Error : Unexpected EOF". If I hit OK it hangs and chews up memory until I kill it. I can still use 3.2 with it without a problem.
I don't see any way to attach here so here is the template file. Anyone see anything obvious that could be causing the issue?
CODE
<?xml version="1.0"?>
<!DOCTYPE binary_file_format SYSTEM "BinaryFileFormat.dtd">
<binary_file_format name="dbmain" type_name="" comment="">
<define_struct type_name="three_byte_int" comment="" expr="">
<data type="int" name="first_byte" format="signed" len="1" display=""/>
<data type="int" name="last_bytes" format="unsigned" len="2" display="" byte_order="big"/>
</define_struct>
<define_struct type_name="Section" comment="" expr="">
<use_struct name="header" expr="" type_name="header" comment=""/>
<for name="entries" count="" stop_test="sub_entry.length == 0" type_name="" comment="">
<use_struct name="sub_entry" expr="" type_name="entry" comment=""/>
</for>
<data type="none" name="rest" len="(4096*header.section_size)-((header.section_length.first_byte << 16) | header.section_length.last_bytes)-12"/>
</define_struct>
<define_struct type_name="entry" comment="" expr="">
<data type="int" name="length" format="unsigned" len="1" display="" domain="this > 0"/>
<data type="int" name="name_length" format="signed" len="1" display="" domain="length > 0"/>
<data type="string" name="name" format="ascii" len="name_length-1" display="" domain="length > 0"/>
<data type="string" name="data" len="length-name_length-1" format="ascii" domain="length > 0" display=""/>
</define_struct>
<define_struct type_name="header" comment="" expr="">
<data type="int" name="section_size" len="1" format="signed" display=""/>
<use_struct name="section_length" expr="" type_name="three_byte_int" comment=""/>
<eval expr="(section_length.first_byte << 16) | section_length.last_bytes" display_error="false" display_result="false" comment=""/>
<data type="none" name="section_header_CRC" len="1"/>
<data type="none" name="section_data_crc" len="3"/>
<data type="int" name="section_name_length" len="1" format="signed" display=""/>
<data type="string" name="section_name" format="ascii" display="" len="section_name_length-1"/>
</define_struct>
<for name="dbmain" count="" stop_test="" type_name="" comment="">
<use_struct name="block" expr="" type_name="Section" comment=""/>
</for>
<data type="none" name="none"/>
</binary_file_format>