|
Here's what I used for V3R2 (posted to the RPG list about a year ago). h dftactgrp(*no) bnddir('QC2LE') * set space pointer offset d setsppo pr * extproc('setsppo') d Pointer * value d Offset 10i 0 value * store space pointer offset d stsppo pr 10i 0 extproc('stsppo') d Pointer * value * add len to buffer pointer c eval BufrP = setsppo(BufrP:stsppo(BufrP)+len) Keith ----- Original Message ----- From: "Douglas Handy" <dhandy1@xxxxxxxxxxxxx> To: "MI Programming on the AS400 / iSeries" <mi400@xxxxxxxxxxxx> Sent: Monday, October 13, 2003 8:15 AM Subject: Re: [MI400] RE: MI Emulator > Jon / Richard, > > > >> seeing that V3R2 RPG does not have pointer arithmetic capability? > >Simple, just write a little MI program ... > > > >It is indeed simple - and a lot simpler than writing an MI program! Simply > >define an array over the field/DS (using BASED if needed) and use %Addr or > >the element required. > > What I did while still supporting V3R2 clients was still write a little MI > program, but one which itself just did pointer arithmetic. It accepted the > pointer itself, the offset, and (optionally) whether to ADD or SUB the offset > from the pointer, with a default of addition. Then it just used ADDSPP or > SUBSPP and returned. > > This let me walk lists in user spaces very easily. I'd prototype the call to > the MI program so I'd have code like > > C Callp AddToPtr( pEntry: EntrySize ) > > or > > C Callp PtrMath( pEntry: offset: 'SUB' ) > > or whatever. > > I always preferred that to the based array technique, plus it was not limited to > 32767 bytes. > > Doug > _______________________________________________ > This is the MI Programming on the AS400 / iSeries (MI400) mailing list > To post a message email: MI400@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/mi400 > or email: MI400-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/mi400. > >
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.