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

Peter Wang novalazy at gmail.com
Mon Oct 28 16:12:52 AEDT 2019


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

Also, you should consider using MR_strerror() from the runtime directory
instead of strerror_r() directly.

Peter


More information about the users mailing list