在错误处理中需要替换已弃用的数组

时间:2011-09-16 08:37:39

标签: c linux error-handling

我正在修改旧代码,它使用不推荐使用的已弃用的sys_errlistsys_nerr。有人可以告诉我它的替代品吗?

如果有人告诉我们它的功能,它也会很棒。

以下是代码:

37 static const char *
38 stringErrorReport(void)
39 {
40 #if ( defined(sgi) )
41         return strerror(oserror());
42 #elif ( defined(_AIX) )
43         return strerror(errno);
44 #else
45         if ( errno > 0 && errno < sys_nerr )
46                 return sys_errlist[errno];
47         else
48                 return "Unknown error.\n";
49 #endif
50 }

让我知道如何替换已弃用的sys_nerrsys_errlist[ ]

1 个答案:

答案 0 :(得分:1)

这个函数是strerror()的包装器,并尝试在它假定strerror()不可用的系统上提供它自己的替换。如果sys_errlist和sys_nerr都不可用,则会失败。但它至少尝试过......