lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Tue, Sep 6, 2011 at 5:16 PM, Josh Simmons <simmons.44@gmail.com> wrote:
> On Tue, Sep 6, 2011 at 5:09 PM, HyperHacker <hyperhacker@gmail.com> wrote:
>> On Tue, Sep 6, 2011 at 00:51, Josh Simmons <simmons.44@gmail.com> wrote:
>>> On Tue, Sep 6, 2011 at 4:39 PM, HyperHacker <hyperhacker@gmail.com> wrote:
>>>> Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
>>>>> f=io.open('foo.foo', 'r')
>>>>> f:write('ffd')
>>>>> f:close()
>>>>>
>>>>
>>>> Call me crazy, but I feel like f:write() should throw an error when
>>>> trying to write to a read-only file, instead of just doing nothing.
>>>>
>>>> --
>>>> Sent from my toaster.
>>>>
>>>>
>>>
>>> Check the return value of write.
>>>
>>>
>>
>> I get "bad file descriptor" which seems rather misleading. No return
>> value is documented in the manual though.
>>
>> --
>> Sent from my toaster.
>>
>>
>
> Odd that it's not mentioned.
>
> All IO functions use the luaL_fileresult function however, which uses
> errno+strerror to report any error message and so the actual error
> message is outside Lua's control.
>

The error message does make sense too when you consider that you're
calling the write function and passing a fd, the descriptor is invalid
for the given function.