× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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

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.