|
Scott, Thanks for your detail explanation. Actually, I do "know" everything you said. But it's not something I think about everyday ;-) You detailed explanation made me realize that the only possible explanation is that the 2 extra bytes CADATE was writing in some other place and that the side effect was that the loop was ended. In fact, I know which variable the extra bytes went to in the RPG IV version of the program. I happened to see them while in debug and thought to myself "huh, that looks weird" but I didn't see it as a cause of the loop. It did however lead me to look at the parameters and find the size mismatch. What I didn't understand was why the RPG III version never had the same loop. I didn't think about the fact that RPG III and RPG IV allocate memory differently. So while the 2 extra bytes in RPG III version went somewhere that caused the loop to end, thus causing the program to seemingly run correctly. The extra two bytes in the RPG IV version didn't have the same effect. I'm still curious as to where the extra 2 bytes went in the RPG III version. Just because I'm curious as to how the loop was ended. Do you know of any way to find out where the two bytes were put? I know I can find the address of the mis-sized parameter (P@ERR) but is there any way to find out what was using the two bytes following it? Thanks again, Charles
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.