On Mon, 27 Aug 2012 19:25:07 -0400, John Gilmore wrote: > >Or again, consider the HLASM character set symbol of > >|&text setc '' > >After the execution of this set statement k'&text is zero; The value >of &text is a nul string, one of length zero; and such strings have >many important uses. > But its length attribute is nonzero. In fact, IIRC, HLASM will never create a symbol with length attribute of zero; I believe (without trying it again) that
ANSWER EQU 42,0 results in an assembler error. (Too) many IBM utilities are hostile to nulls. Linkage Editor, given empty SYSLIN (used to) quietly do nothing and exit with RC=0. Binder attempts to generate an invalid load module (improper initialization) and exits with an indication of serious error. SMP/E will not accept "++ FUNCTION(GUBBINS) FILES(0) ..."; I must omit the FILES option instead. I have encountered both of these while attempting programmatically to generate input to the respective utilities, and needed to recover by treating the boundary condition as a special case, either bypassing the invocation of Binder or omitting the SMP/E option. I am unmoved by any argument that either of these restrictions causes me to code in such manner as to incur less overhead; silicon is cheaper than carbon. >The Identification of the familiar with the logical and the unfamiliar >with the illogical is not a helpful notion. > Doug Gwyn said it well: "Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things." In this respect, at least, z/OS should strive to be more like UNIX. -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
