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