|
From: <Gene_Gaunt/ReviewWorks@reviewworks.com>
> Seems CMPPTRT returns a "not equal" condition when it compares a null value
> to an unresolved system pointer containing an invalid initial value. Why?
> Shouldn't this situation return an "equal" condition? In the following
> little program at the breakpoint, FLAG1 has value "0" while FLAG2 has value
> "1". Shouldn't FLAG1 have value "1" too, since pointer P and pointer Q
> are both null and both will fail in a CALLX operand 1?
>
> DCL SYSPTR P AUTO INIT("BADNAME!!");
> DCL SYSPTR Q AUTO;
> DCL DD FLAG1 AUTO CHAR(1);
> DCL DD FLAG2 AUTO CHAR(1);
>
> CMPPTRT(I) P, * / EQ(FLAG1); /* becomes "0" */
> CMPPTRT(I) Q, * / EQ(FLAG2); /* becomes "1" */
> BRK "LOOK";
Gene if you look at the pointers you'll see they are (on my system,
addresses will be different on yours):
200000000000000016C5BF5032001550 ; P
00000000000000000000000000000000 ; Q
so P actually has a value. If you go to the address you'll see:
Address 16C5BF5032 001550
001550 00504080 00000000 001E0000 00000001 ·& Ø············
001560 0201C2C1 C4D5C1D4 C55A5A40 40404040 ··BADNAME!!
001570 40404040 40404040 40404040 40404040
so BADNAME!! actually exists. Is a *PGM (type/subtype 0201)
so no wonder you get the result you got.
+---
| This is the MI Programmers Mailing List!
| To submit a new message, send your mail to MI400@midrange.com.
| To subscribe to this list send email to MI400-SUB@midrange.com.
| To unsubscribe from this list send email to MI400-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: dr2@cssas400.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.