VxWorks提供了一个只接受两个参数的strerror_r版本。
STATUS strerror_r
(
int errcode, /* error number */
char *buffer /* string buffer */
)cURL提到了MAXERRSTR_SIZE。
vxworks风格的strerror_r()确实使用了我们传递给函数的缓冲区。缓冲区大小应至少为rtsold.h中定义的MAXERRSTR_SIZE (150)。
但我似乎找不到分发版中的rtsold.h文件。
复制到缓冲区的消息的最大大小是多少?某个地方有定义或整数常量吗?
发布于 2014-04-05 20:07:10
将来可以用来作参考。在撰写本文时,最大大小为NAME_MAX,即255个字节。请记住终止字节,并传递至少256字节的缓冲区以确保安全。(看来我本可以直接查阅strerror_r on VxWorks的源代码。对不起,我不知道)。
https://stackoverflow.com/questions/22856387
复制相似问题