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

fråga angående funktionen strerror_r



Hej, jag satt och kodade hemma på min kammre och tänkte använda
funktionen strerror_r (debian stable).

man-sidan specificerar att beteendet ska vara:

       int strerror_r(int errnum, char *buf, size_t n);

läser man vidare längre ner så ser man också att:

CONFORMING TO
       SVID 3, POSIX, BSD 4.3, ISO/IEC 9899:1990 (C89).
       strerror_r() with prototype as given above is specified by
       SUSv3, and was in use under Digital Unix and HP
       Unix. An incompatible function, with prototype

       char *strerror_r(int errnum, char *buf, size_t n);

       is  a GNU extension used by glibc (since 2.0), and must be
       regarded as obsolete in view of SUSv3.  The GNU
       version may, but need not, use the user-supplied buffer.  If it
       does, the result may be truncated in  case
       the supplied buffer is too small. The result is always
       NUL-terminated.



Gräver man vidare och tittar i /usr/include/string.h så ser man att
bara den gamla GNU-definitionen defineras, dvs den som är osolete.

Ska man tolka det som en bugg i distributionen?

hälsningar
Håkan



Reply to: