Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gestalt selector for Intel chips?



On Wed, 28 Jun 2006 21:41:44 -0700, John Stiles <email@hidden>
wrote:

> Historically, it was a global.
> In modern times, "errno" is a macro that calls a private function (I
> think it's called __error() or something). This allows it to be
> thread-safe. By and large, though, you can treat it as if it were a
> global variable.

Watch out thou that if you need it's value multiple times you should assign
it to a local variable because calling __error() clears its value:

    int error = errno;  // <== this expands to "(*__error())"
    fprintf( stderr, "%s: error: %ld (0x%08lX) \"%s\".\n",
        __PRETTY_FUNCTION__, error, error, strerror( error ));

If you used errno instead of error in the fprintf line then only the first
call would return the error. The last two times it's called it would return
zero (noErr).

-- 
Enjoy,
George Warner,
Schizophrenic Optimization Scientist
Apple Developer Technical Support (DTS)


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Carbon-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/carbon-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.