|
Im having issues with my first attemp with pointers. I have a service
program that uses strtok to split info into array elements. When i try
using it, the subsequent invocations replace prior ones with the latest
data. It looks like its pointing to the same memory location.
here is my code. i think i need to do something in my service program so
that the pointer is unique for each call to the service.
service program:
hnomain
P WordSplitterd b export
d WordSplitterd pi *
d string 65535 const
d delim 1 const
D tokens s 1024A varying dim(2000)
D x s 10I 0
D string2 s 65535
d pointer s *
dstrtok PR * ExtProc('strtok')
d string * value options(*string)
d delim * Value Options(*string)
/free
string2 = string;
pointer = strtok(string2 : delim);
dow (pointer <> *null);
x+=1;
tokens(x) = %trim(%str(pointer));
pointer = strtok(*null: delim);
enddo;
return %addr(tokens);
/end-free
P E
Access program
H DFTACTGRP(*NO) BNDDIR('HTTPAPI':'QC2LE':'PGM')
d pointer1 s *
d MbrInfo1 s 1024 based(pointer1) varying dim(2000)
d pointer2 s *
d MbrInfo2 s 1024 based(pointer2) varying dim(2000)
/free
pointer1 = wordsplitterd('1,2,3':',');
pointer2 = wordsplitterd('4;5;6':';');
*inlr = *on;
/end-free
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
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.