|
Thanks for this great explanation. I've had the MCH3601 error for a long time and was positive it was IBM's problem. Guess I have a little crow to eat.
Dave
----------
From: bmorris@ca.ibm.com[SMTP:bmorris@ca.ibm.com]
Reply To: MIDRANGE-L@midrange.com
Sent: Wednesday, August 11, 1999 12:41 PM
To: undisclosed-recipients
Subject: RE: Mysterious MCH3601 errors at V4R3M0
Dave, the APIs have 2 kinds of optional parameters: "optional" and "omissible".
The optional ones are truly optional and can be left out of the call entirely.
The omissible ones have to be coded on the call; all "omissible" means is that
you can pass a null-pointer to them; in RPG terms, this means passing *OMIT. If
you use prototyped RPG calls, when the API says "optional", code
OPTIONS(*NOPASS); if it says "omissible", code OPTIONS(*OMIT).
If you leave out an omissible parameter, and there happens to be a valid pointer
where the API looks for that parameter on the stack, it will update the storage
that the pointer is pointing to. If it's a pointer to read-only storage, it can
result in a storage violation (and you're lucky); otherwise, "some" storage will
get corrupted.
Since pointers get "on the stack" from previous calls, the actual storage that
gets corrupted will depend on what calls were made prior to the call that is
causing the problem. Depending on the number and nature of the parameters to
those calls, it might be several calls back, and who-knows-what is going to get
corrupted.
In short, the answer to your question is "yes" :-)
Barbara Morris
>Date: Wed, 11 Aug 1999 09:35:35 -0500
>From: "Leland, David" <dleland@Harter.com>
>Subject: RE: Mysterious MCH3601 errors at V4R3M0
>
>Well, that could explain my problem. I'm using CEEDOD and only passing
>in the 6 required parameters. Do I need to pass in *OMIT for the
>seventh parameter which is omissible?.
>
>Thanks,
>Dave
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.