【发布时间】:2012-10-18 18:59:09
【问题描述】:
我在 windows 中有调用 getsockname 的代码如下:
getsockname(*x,NULL,0)
第三个参数(namelen) 是IN\Out 参数,包含名称缓冲区的大小,以字节为单位。返回时,namelen 参数包含 name 参数的实际大小(以字节为单位)。
现在,我的问题是如果 name 等于 null 并且 namelen 等于 0 会发生什么?我在 linux 中看到过,如果 name 为 NULL,namelen 将被忽略,但 MSDN 没有提及这种情况。 .
MSDN 链接是here
linux 的 IBM 链接是here
提前致谢
【问题讨论】:
-
Linux manual page 和 POSIX manual page 都没有提到这一点。
-
那么,你知道这段代码会发生什么吗?
-
IBM 网站的链接描述了 z/OS 而非 Linux 上的行为。