>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 [email protected] with the message: INFO IBM-MAIN
