|
>>d workBlock s 1024 varying >> >>d deblock pr like(SUCCESS_RC) >>d inpSepChar 10 const varying >>d inpBlock const like(workBlock) >>d outSingle like(workBlock) >Buck, if you code options(*varsize) for outSingle, you can >pass whatever length of parameter you want. But then you >better use operational descriptors then, so you can find out >the maximum size of the passed parameter. OK. As a learning experience, I'll try that, and CEEGSI to get the current & maximum lengths. I guess this is one of the differences between varying and *varsize. I knew about the two byte length header and %addr offset for varying (thanks Barbara!) >Or pass a fourth parameter with %size of the third parameter. I was missing the concept that *varsize would allow me to pass a shorter variable, even though it is very clear in the manual. My fault entirely. Without that concept, passing the size didn't help. >But why not have your function just return outSingle instead >of using a parameter? Then you can have any length of >receiver you want. Philosophy, I guess. <dumb look on face> I try to code my procedures to return a pass/fail return code for consistency's sake. It's not really a _design_ issue; I could just as easily pass the return code back as a parameter without materially affecting the procedure. I will tinker and learn. My main hope is that others will learn from my mistakes, which is why I post these things instead of "brute forcing" my way through. (Rob has a great tagline...) Many thanks! Buck
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.