On Dec 20, 2011, at 08:29, McKown, John wrote:

> Just for learning, and fun (FSVO "fun"), I'm doing some programming in HLASM 
> for z/OS UNIX. In the spirit of things, I'm keeping the source in UNIX 
> subdirectories and using the "make" UNIX command, in an interactive UNIX 
> shell, to control the assembly (using the "as" UNIX command) and linking 
> (using the "ld" UNIX command).
>
An off-list discussion has prompted a question:  How does BPAM
implement NOTE and POINT for UNIX files?  If we create copybook
members with vi, emacs, nedit, jedit, ... and allocate SYSLIB
with FILEDATA=TEXT,RECFM=FB,LRECL=80,PATH=..., the (emulated)
BPAM will pad lines with 0x40 to 80 byte records.  Then a nested
COPY causes a NOTE; copies in the nested member and POINTs back
to the previous position.  I'd expect POINT to use fseek()
internally.  But how does it calculate the fseek() argument,
not knowing how many padding bytes were added previously?
Or does BPAM keep a journal?

Years ago I had a PMR on failure of this operation.  IBM fixed
it.  I have no idea how.

John and I would never tolerate being required to pad lines in
all our UNIX files to 79 characters plus <NL>.

-- gil

Reply via email to