• Subject: Re: bug in CMPPTRT
  • From: "Leif Svalgaard" <leif@xxxxxxxx>
  • Date: Fri, 29 Sep 2000 17:04:51 -0500

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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.