[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