使用uname(2)检查错误?

时间:2014-12-28 22:56:21

标签: c linux posix uname

调用uname(2)后是否有必要检查错误?

根据手册页:

  

成功时,返回零。出错时,返回-1,错误是          适当地设定。

并在 ERRORS 标题下

  

EFAULT buf无效。

是列出的唯一错误。

因此,如果给出有效的uname缓冲区,我可以假设struct utsname永远不会失败吗?

1 个答案:

答案 0 :(得分:0)

没有。

仅仅因为EFAULT是唯一列出的errno,并不意味着uname只要您传递有效的缓冲区就永远不会失败。它可能因任何其他原因而失败。即如果uname的返回代码为-1,则无论errno的值如何都会失败。

errno仅在函数/系统调用指示失败时才有意义;它本身并不定义库函数/系统调用的成功/失败。