tech-userlevel archive

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

Re: libcodecs(3), take 4

On Sat, Oct 02, 2010 at 08:13:25AM +0200, Alistair Crooks wrote:
> Hi Uebayashi-san,
> Thanks for your feedback.
> On Sat, Oct 02, 2010 at 02:42:02PM +0900, Masao Uebayashi wrote:
> > Usually libraries don't print error messages to stderr, nor exit.
> That's true for some libraries, but not for all of them.  At the same
> time, printing error messages is far superior to the practise of
> returning enumerated error values (like regexp libraries), or stacking
> them up and vomiting them up at a later stage.

If libraries are going to write to stdout or stderr it really must
be a documented part of their interface.

The are still many programs that call close(0); close(1); close(2)
to get rid of the tty assignments - while leaving stdout and stderr
active.  Any calls to printf() can then accidentally write to
some other open fd.

Of course, this is made worse when the programmer accidentally
uses printf instead of fprintf and no data is actually written
until the 10k stdio buffer fills :-)


David Laight:

Home | Main Index | Thread Index | Old Index