> On Mar 14, 2017, at 4:27 PM, Greg Parker <gpar...@apple.com> wrote: > >> >> On Mar 14, 2017, at 4:08 PM, John McCall <rjmcc...@apple.com >> <mailto:rjmcc...@apple.com>> wrote: >> >>> On Mar 14, 2017, at 7:00 PM, Carl Hoefs <newsli...@autonomy.caltech.edu >>> <mailto:newsli...@autonomy.caltech.edu>> wrote: >>> macOS 10.12.3, Xcode 8.2.1, ObjC >>> >>> I'm finding the following line to be problematic: >>> >>> NSMutableData *myData = [NSMutableData dataWithLength:80]; >>> >>> I assume this ends up calling calloc(3) to allocate and zero out the data. >>> But for some reason, it's always setting errno to a seemingly random >>> nonzero value, generally either errno=2 (ENOENT) or errno=22 (EINVAL). >>> >>> Now that I know it does this, I can make accommodations for it, but is this >>> expected behavior? >> >> I don't know why it's happening here, but unless you're calling a function >> that specifically documents its errno behavior, you should assume that every >> call you make might randomly overwrite errno with gibberish. > > The POSIX standard specifically states that errno's value is undefined almost > everywhere and can be arbitrarily changed by almost anything. > > http://pubs.opengroup.org/onlinepubs/9699919799/functions/errno.html > <http://pubs.opengroup.org/onlinepubs/9699919799/functions/errno.html> >
Thanks, John & Greg. I simply wasn't aware of this! -Carl _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com