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: