char *strerror_r(int errnum, char *buf, size_t buflen);
これらのbuf
/buflen
パラメータは何のためですか?
空のバッファは魅力のように機能します:
char* buf = nullptr;
fprintf(stderr, strerror_r(errno, buf, 0));
また、このバッファは未使用のように見えます:
char buf[1024];
fprintf(stderr, "%s\n", strerror_r(errno, buf, sizeof buf)); // Correct message here
fprintf(stderr, "%s\n", buf); // Empty