× 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.



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
correct.

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");

    return;
 }

here's the rpg procedure:

P getHist            b                   export

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

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

I appreciate any help you can give!

Thanks,

Phil

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.