Why not change from a C program to an ILE C module?

You'd break your current main() into 2 parts, an init that does the malloc
and a close() that does the free.

Charles

On Wed, Sep 10, 2014 at 5:53 AM, Frank Kolmann <fkolmann@xxxxxxxxx> wrote:

Hi



I have coded a C program to get info from the QDFRTVFD API.

It works and successfully retrieves Fields (incl posn and atr) and
Constants from a DSPF.

It is here. http://wiki.midrange.com/index.php/CQDFRTVFD



However the way it is coded is very inefficient because I invoke the API
for every field/constant in the DSPF.

To be more efficient I would need to invoke the API only once and retain
the API returned data.

I want to keep the API invoke in the called function.

To retain data after a C program ends is , I believe the definition of
‘memory leak’, so I cant see how I can call the API within the C program
and also retain the data after the program ends.

I know how to pass data back to the caller, in fact that is how the field
information is returned. However for this I have memory allocated in the
caller.
The C program does a ‘malloc’ and here is where I am lost, as I cannot
see how to pass back the data in the ‘malloc’.

Any help. TIA.


Frank
--
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (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 ...

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