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
