[Info-vax] GKS : gopwk problem with VSI's version of GKS

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Mar 17 12:41:09 EDT 2021


On 2021-03-17 15:30:23 +0000, Robert A. Brooks said:

Not to try to create an "arguement" here, but I'd have used a void * 
there as the type of "arguement" is not known.

Not sure whether "const void *" would be a better declaration of the 
"arguement", as I see some Unix systems use const char * there.

Posting a source code reproducer of the GKS code crash is prolly the 
next step here.

C-Reduce is handy for distilling C code reproducers, donno if there's a 
Fortran analog. http://embed.cs.utah.edu/creduce/

[Wanders off to check whether Xcode can spell-check comments, as I'm 
sure to have a few beauties lurking in my code.]

>   The below is from the engineer who did the work to build GKS for VSI 
> (not me).
> 
> "The code I ported to VSI IA64 is the code I got from HP so nothing 
> should have changed.
> It looks like the second parameter is a pointer to an integer. The 
> following is from FB_CONTROL.C"
> 
> /*+
> * GOPWK  Open workstation (GKS3D_OPEN_WS)
> *
> * Description:
> *      A workstation of given i.d. and type is opened, where the
> *      'conid' arguement is
> *
> *      either: a null pointer or a pointer to the value FB_DEF_LUN,
> *              in which case the kernel is passed a null conid
> *              string descriptor, which results in the kernel
> *              trying to translate the appropriate logicals -
> *              this is how an application can use defaults that
> *              can be changed by changing a logical or enviromental
> *              variable
> *
> *      or:     a pointer to a non-zero integer, which is interpreted
> *              as a logical unit number; in this case we inquire
> *              to find out (a) if the lun is open (b) does the attached
> *              file have a name - if open, then it is closed so that the
> *              kernel  can re-open it, since the kernel always assumes
> *              closed workstations - if there is no name then one is
> *              constructed according to the assumptions of the compiler
> *              in use;  whatever name we end up with is passed to
> *              the kernel.
>> gopwk(
>          int         * wsid,         /*  workstation identifier         
>          */
>          int         * conid,        /*  connection identifier          
>          */
>          int         * wstype        /*  workstation type               
>          */
>          )


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list