|
I wrote a C function char *FOUNDDIR(char *fn) to return a string (pointer to a string) and compiled it as a service program using CRTSRVPGM SRVPGM(sudsrvpgm) EXPORT(*ALL) SRCFILE(c_src) BNDDIR(SUDBNDDIR). I then called this service program from my rpgle as follows. d founddir pr * d dir * value options(*string) d ptr s * d rtnstr s 20 based(ptr) c ptr = founddir('/') c dsplay rtnstr The rtnstr is a junk value. ptr is a regular pointer value. I also tried d founddir pr 20 d dir * value options(*string) and did a rtnstr = founddir('/'). rtnstr is still some junk value. I also cannot debug since My C function does not show the source. So I created a module by CRTCMOD MODULE(sudsrvpgm) SRCFILE(C_Src) OUTPUT(*print) OPTION(*SHOWSRC *SHOWUSR) DBGVIEW(*ALL) SYSIFCOPT(*IFSIO *IFS64IO) But it does not show any debug. I must be doing all wrong. TIA, Sudha Sudha Ramanujan SunGard Futures Systems (312)577-6179
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.