Thanks Barb.

I can see merit in both techniques.

Simon, did you mean to pass the structure by value or by reference? I
suppose that this would depend on whether or not the original value
from the structure needs to be preserved, or if myFunction modifies
the structure values, and those values need to be returned back to the
structure.

Erick

On Wed, Sep 24, 2008 at 11:38 AM, Barbara Morris <bmorris@xxxxxxxxxx> wrote:
Erick Garske wrote:

So this is what I've ended up with:
...
static int myFunction(myEC_t pApiErrCd);


Erick, I would pass the parameter by reference rather than by value.
It's not considered good practice to pass data structures by value. (I
don't think Simon was recommending that you pass the structure by value;
he was recommending that you define the type of the parameter rather
than using void *.)

static int myFunction(myEC_t *pApiErrCd);

Or if you don't want the function to be able to modify the parameter,
code const.

static int myFunction(const myEC_t *pApiErrCd);

Inside the function use -> instead of .
intTest = pApiErrCd->EC_Fixed.Bytes_Provided;

And when you call the function, pass the address of the structure
myFunction(&ApiErrCd);

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