× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Jon;

As I alluded to in my P.S. to Dennis, errNo is scoped to an activation group, at least that's how I interpreted my results. I initially had my errNo function in a service program with a named activation group. When I would call it it would return an error id that didn't correspond to the failed function, after a little more digging I found that the errNo memory location was not modified when a function failed, that was supposed to write to the errNo memory location. I changed the service program to *CALLER and errNo worked correctly.

Duane Christen


--


Duane Christen
Senior Software Engineer
(319) 790-7162
Duane.Christen@xxxxxxxxxx

Visit PAETEC.COM


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, October 13, 2010 2:40 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Safe to maintain pointer to errno() ?

When I first started experimenting with calling C functions from RPG back before V3R2 came out I asked the guys on the C compiler team about this. The answer I got was that for "historical" reasons it could not be guaranteed. I know that the C compiler and run time has changed since then, so it is possible that this is no longer true, but I never risk it. Barbara may know for sure.


Jon Paris

www.Partner400.com
www.SystemiDeveloper.com



On Oct 13, 2010, at 1:00 PM, rpg400-l-request@xxxxxxxxxxxx wrote:

Folks, I have often wondered and have never found reference to the
internal workings of errno. My specific question is whether it is
safe to obtain a pointer to errno only one time, and then reference
the based value from then on. It makes sense to me that errno's value
would be at a static location and won't float around in memory, but -
again - I haven't seen any guarantee of that. So in my programs every
time I want to measure success of certain operations, it's the old
retrieve-the-address-and-test-the-value
approach.
This really is like the C approach except that in C it can be a single
instruction ( if (*errno < 1) . ).

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

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