> 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

Reply via email to