Barbara,
I'm a bit lost. You say my RPG prototype should be 10A, not *string.
But your example showing RPG protype with *string.

I really prefer to do
typedef struct {
char value[10];
} logECD_STP3_piModuleName_T;

But I don't want to have to do below in c just to call a function:
memset(&piModuleName, ' ', sizeof(piModuleName));
memcpy(&piModuleName, "MYMODULE",8);
logECDSTP3(piModuleName...)


I want to do this, hence, I changed it to use *string
logECDSTP3("MYMODULE", ...)

Clear as mud?

-----Original Message-----
From: c400-l-bounces+lim.hock-chai=usamobility.com@xxxxxxxxxxxx
[mailto:c400-l-bounces+lim.hock-chai=usamobility.com@xxxxxxxxxxxx] On
Behalf Of Barbara Morris
Sent: Friday, June 13, 2008 11:20 AM
To: C400-L@xxxxxxxxxxxx
Subject: Re: [C400-L] Basic c question again - type casting

Lim Hock-Chai wrote:

The reason that I use typedef is because the moduleName and locationID

should actually be a fix 10 char long variables.

Then your RPG prototype should be 10A, not a pointer with
options(*string).

Your original typedefs were correct. Having char* typedefs, and then
secretly requiring the caller to set up blank-filled values doesn't seem
very friendly.

I think a better alternative would be to allow all your callers to pass
null-terminated strings, and have your procedure get the data in the
right form.

D proc pi
D libP * value options(*string)
D logMessageP * value options(*string)

D lib s 10a
D logMessage s 2048a varying
/free
lib = %str(libparm);
logMessage = %str(logMessageP);

--
This is the C programming iSeries / AS400 (C400-L) mailing list To post
a message email: C400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/c400-l.


This thread ...

Follow-Ups:
Replies:

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

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