> On Mar 14, 2017, at 4:08 PM, John McCall <rjmcc...@apple.com> wrote:
> 
>> On Mar 14, 2017, at 7:00 PM, Carl Hoefs <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>


-- 
Greg Parker     gpar...@apple.com <mailto:gpar...@apple.com>     Runtime 
Wrangler


_______________________________________________

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

Reply via email to