[m-users.] Yet another piece for the posix library: strerror(3)

Julien Fischer jfischer at opturion.com
Mon Oct 28 16:27:34 AEDT 2019


On Mon, 28 Oct 2019, Peter Wang wrote:

> On Mon, 28 Oct 2019 16:06:47 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
>>
>> Hi Volker
>>
>> On Sun, 27 Oct 2019, Volker Wysk wrote:
>>
>>> I've extended the posix library again, this time with the strerror(3)
>>> call. I had to modify posix.m in order to do it.
>>
>> That's not referentially transparent as the error message returned will
>> be affected by the current locale setting.  This can be fixed by making
>> the interface into:
>>
>>     :- pred strerror(posix.error::in, string::out, io::di, io::uo) is det.
>>
>
> The standard library makes the same mistake :P

Whether a locale change affects strerror() seems to be system dependent.
(It does on some systems, e.g. OpenBSD, which is sufficient reason to
fix the standard library.)

Julien.


More information about the users mailing list