On Sun, 27 Dec 2009 10:01:32 -0500, Charles Mills wrote:
>
>- Yes, I'm clear on the difference between the restrictions imposed by PARM=
>(one parm, 100 chars), TSO (a tendency to convert to U/C, and yes, I agree
>with gil, over-compensating by converting to l/c when ASIS is specified is
>just brain dead), ISPF (a tendency to convert to u/c), and C argv (only one
>parm, possibly parsed into words).
>
Notwithstanding that TFM clearly describes "converting to l/c when
ASIS is specified", and Sam's insistence that this is done neither
by LE nor by CRTL, I can uncover no example where TSO CALL does
this, using ASMA90 as a test program.  I'm not much motivated to
experiment by writing a C program?  Has any other reader seen this
happen?  Is another option needed, to suppress that conversion?

Blessedly, JCL is so antiquated that it makes no effort to implement
case-insensitivity.  With luck, it may never happen, not in the brain
dead style of Binder.

>- Thank you especially for the suggestion of the __R1 macro. That seems to
>do the job. It may have to go in the main program -- I had problems with
>putting it in a downstream function, but I moved it to main() and did not
>fully pursue getting it to work outside of main. Its companion __osplist or
>whatever it was called looked promising also ...
>
I got curious:

u...@3mvs:141$ grep __.*plist /usr/include/stdlib.h /dev/null                   
           
/usr/include/stdlib.h:  #ifndef __sysplist
/usr/include/stdlib.h:     #define __sysplist_i   12
/usr/include/stdlib.h:     #define __sysplist ( (void * const *) \
/usr/include/stdlib.h:               *((void ** const) 
(*(__gtab(__sysplist_i))) ) )
/usr/include/stdlib.h:        #define __R1 ((void *) *((void **) 
(*(__gtab(__sysplist_i)))))
/usr/include/stdlib.h:        #define __osplist ( (void **) __R1)
/usr/include/stdlib.h:  #endif  /* __sysplist */

u...@mvs:138$ grep  _Gtab       `find /usr/include -print -name IBM -prune`     
          
/usr/include/stdlib.h:      #define __gtab(x) _Gtab(x)
/usr/include/stdlib.h:        #pragma linkage(_Gtab, builtin)
/usr/include/stdlib.h:        void **_Gtab(int);

So __osplist is merely a cast of __R1.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to