2014-04-04 48 views
2

VxWorks提供了一个只包含两个参数的strerror_r版本。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。

复制到缓冲区的消息的最大大小是多少?是否有定义的#define或整数常量?

+1

您引用的文字实际上会告诉您尺寸。 –

回答

1

供将来参考。写这篇文章时,最大值为NAME_MAX或255字节。请记住终止字节,并传递至少256个字节的缓冲区以保证安全。 (看来我可能刚刚咨询了VxWorks上strerror_r的源代码,对不起,我不知道)。