[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: EOF markers in III+



** Reply to note from stewarta@xxxxxxxx Tue, 25 Mar 1997 15:40:57 -0800 (PST)
 
> Xywrite III+ and also 4, I believe, uses a Hex 1a as the End of File Marker
> when saving. Is there any way of changing this - or deleting it....
> I'm guessing this is hard-coded into Editor.Exe.
> Any ideas or solutions please?
> Al Stewart

In XyWrite IV, command "default 1A=1". DocumentInformation needs to be
turned off too in this case, otherwise you'll see all the DocInfo
shorthand (command "d IO=0"). Note, however, that this whole line of attack
carries some real risks. First of all, 1A=1 doesn't prevent 1Ah being written
at EOF, it simply allows XyWrite to read beyond this character, i.e. to ignore
1Ah and to obey, instead, the file length maintained in the File Allocation
Table. In many cases, 1A and the FAT table will both reference the
same length, and there won't be any noticeable difference in behavior.
But DocInfo, which is stashed after the 1A, will become visible. More
importantly, if you ever modify and re-LOAD a Help file (such as HLP,
DLG, or U2), the file won't work anymore, because an index of Help files is
compiled and stored after character 1Ah each time a Help file is loaded; and
when that index is read rather than hidden, Help bombs.

If your goal is to *get rid* of 1A, you can use the method mentioned here
previously, namely issue a DOS shell command from Xy's command line:

 dos/nv/x/z /c copy myfile/a+bogus myfile/b

Note however that this will erase everything from char 1Ah to EOF, including
DocInfo, Help indices, whatever. But, whereas some might complain that none of
these is a clean solution to the problem, I'd say that actually you have a lot of
options, and one of them is probably the one you're looking for.

-----------
Robert Holmgren
holmgren@xxxxxxxx
-----------