Is it possible to call from a C pgm an ILE/RPG subprocedure which returns a 20
position character?  When it returns I get a pointer error.  I tried returning
the address with %addr(filename), which didn't end in error but the value wasn't

Here's the c pgm:

 char * getHist(char[], const char[]);

 #pragma map(getHist, "GETHIST")

 void main(void)
    char *filename = "\0";

    strcpy(isodate, "2003-02-01");
    filename = getHist(isodate, "OCT");


here's the rpg procedure:

P getHist            b                   export

D getHist         pi            20  
D  date                           d   datfmt(*iso)
D  filemon                       3    const
D filename        s             20

C                   eval      filename='FILEONE   FILETWO'
C                   return    filename
P                 e

I appreciate any help you can give!



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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

This mailing list archive is Copyright 1997-2022 by 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.