Ira Broussard wrote:
I understand the linkage editor can split a record anywhere it wants.
However, why does that cause a problem if I am concatenating all of the records for
a load module into a single variable and scanning that variable? For
example...
searcharea = ""
do until EOF
read record into newrecord
searcharea = searcharea || newrecord
end
scan searcharea
I haven't done exhaustive testing, but the testing I did shows that the
result is what I expected (including when the records had an odd number of bytes,
e.g., not on a fullword boundary). If my search string was split across the
previous record and the new record, it is correctly "un-split" in the
concatenated storage area.
There is a little problem with your scheme. A load module
contains control records and text records. Disregarding modules
with the "Only Loadable" and "Scatter Load" attributes, each
text record is preceded by at least one control record. To
identify split strings, you need to examine the record type and
not store the control data.
And if you ever consider using something similar to compare load
modules, you need to be aware that depending on the sequence of
events during linking/binding the module, CSECTs need not appear
in the same order in functionally identical modules.
Gerhard Postpischil
Bradford, VT
new e-mail address: gerhardp (at) charter (dot) net
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html