Re: NSLog() / NSLogv() annoyance
Richard Frith-Macdonald <richard <at> brainstorm.co.uk>
2003-08-01 06:10:52 GMT
On Friday, August 1, 2003, at 04:09 AM, Adam Fedor wrote:
>
> On Thursday, July 31, 2003, at 10:54 AM, Chris B. Vetter wrote:
>
>> On 30 Jul 2003 21:47:29 -0600
>> Adam Fedor <fedor <at> doc.com> wrote:
>> [...]
>>>> Can't figure out where errno is set to 2, though I suspect it's
>>>> coming from _NSLog_standard_printf_handler() trying to write to
>>>> syslog(?).
>>> I traced this down (and down, etc) - it actually happens when NSLog
>>> gets a user default, and NSUserDefaults gets set up and looks for
>>> .GNUsteprc, eventually getting to:
>>> +[GSAttrDictionary attributesAt: traverseLink:]
>>> which does a 'stat' on the file which doesn't exist. Anyway, what
>>> should GNUstep do in this case? Reset errno to 0? The documentation
>>> says the value isn't significant unless a library function returns an
>>> error, so it really is undefined in this case.
>>
>> That's interesting, because .GNUsteprc does exist, though it's empty.
>>
> Well it's looking for the one in the System root.
>
>>
>> Instead, it could/should "back up" the original value of errno, call
>> stat(2) and do some kind of evaluation if necessary, then restore the
>> original?
>>
(Continue reading)