>A la snprintf()? 
I do not know the fine points of snprintf. ASASYMBM starts with knowing 
the size of the result buffer. It will never write beyond that.

>But how would the hypothetical caller use the information
>if the service expects a standard (fixed) length buffer?
Which "service" are you referring to? The caller of ASASYMBM provided a 
buffer. 
That buffer is of any length the caller wants it to be. The caller of the 
caller might have
a problem. That is up to the caller of ASASYMBM to see if it is something 
that it can deal with.
If it was "GET" or "PUT" for a fixed length record or IEFPRMLB reading a 
parmlib member, it probably couldn't.

>IOW, the current interface does not pass the buffer length?
I do not know which "current interface" you are referring to. There 
certainly are many interfaces where the input does not identify the length 
because the length is documented in some way.

>Or, could the caller hypothetically deal with RC=8?
Yes, it could.

>How would this all hypothetically play with JCL's DSN=, PARM=,
>and PARMDD (i.e. symbol substitution in SYSIN)?
It could play quite nicely. I don't know specifically what you mean by 
"JCL's DSN=", but if you are in a started job where system symbol 
substitution is done, then you could substitute. And if the line 
overflowed it would get truncated. That's exactly the sort of case I have 
mentioned before. It might truncate silently, it might truncate with a JCL 
error message. PARM= has an architected length. PARMDD processing depends 
on how the data is defined. In general, the idea is that the customer is 
using this function knowing the rules and the risks. There would be no 
expectation of any alert about truncation in general. In some cases we 
might choose to provide such an alert. 

>If the facility were to be provided by a lexical extension to symbol 
names
>(as you imagined), no existing code could exploit it.  It would 
effectively
>be a new interface; there should be no further compatibility constraint.

Not true at all. I do not understand what you are thinking of regarding 
exploiting system symbols..
A lot of "exploitation" of system symbols is "here is my string that might 
have one or more symbols in it, please give me back the substituted text".
Most such exploitations can move forward unchanged (possibly choosing what 
to do with RC=8; if they ignore it now, they can continue to ignore it).

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to