On 24/07/2008, at 6:49 AM, Lim Hock-Chai wrote:

I couldn't figure out why there are junk data being output to the stdout:

It's because there is no null-terminator on the parameter data you pass into the C program.

If you run CALL from the command line then string literals are automatically null-terminated but if you run CALL from within a program you have to ensure either:
1) a null-terminator is present
or
2) write you C program to handle character data without a null- terminator.


The ILE C/C++ Programmer's Guide explains this behaviour.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




This thread ...

Replies:

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

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