|
I have a C++ proc that returns a "char" to an rpg proc. It works on paper,
but in practice the rpg proc is always receiving x'00' as the return
variable.
When I return an "int", the return value is received ok.
Does anyone know how to return a "char" from C to RPG?
Here are the C functions:
int ReturnInt( )
{
int nVlu ;
nVlu = 25 ;
return nVlu ;
}
char ReturnChar( )
{
char ch ;
ch = 'a' ;
return ch ;
}
and the rpg prototypes:
d ReturnInt pr 10i 0 extproc('ReturnInt__Fv')
d ReturnChar pr 1a extproc('ReturnChar__Fv')
and the rpg code:
d ch1 s 1a
d int s 10i 0
/free
ch1 = ReturnChar( ) ;
int = ReturnInt( ) ;
/end-free
When I run this code ch1 contains x'00' when it should have 'a' and int
contains the correct value of 25.
thanks,
Steve Richter
This mailing list archive is Copyright 1997-2026 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.