Windows 8に保存され、OSXでアクセスされるclangを使用してコンパイルされたアプリケーションを実行しています。getaddrinfo() に他の入力が与えられた場合、アプリケーションは問題なく動作しますが、::1 以外のホスト名が指定され、サービス名が NULL として指定されている場合はクラッシュします。誰でもこれで私を助けることができますか?
編集:
ソースコードは次のとおりです。
addrinfo hints;
addrinfo *results;
int error;
tTestCaseInputs cases[] = {
{"::1", NULL},
{"lanhostname", NULL},
{"facebook.com", NULL},
{"ipv6.google.com", NULL},
{NULL, NULL},
};
tTestAddrInfo0 values[] = {
{AI_PASSIVE | AI_NUMERICSERV, AF_INET, SOCK_STREAM, IPPROTO_TCP},
};
for (long i = 0; i < ARRAYSIZE(values); ++ i) {
// set hints
for (long j = 0; j < ARRAYSIZE(cases); ++ j) {
tTestCaseInputs * testcase = &cases[j];
if((error = getaddrinfo(testcase->uHost, testcase->uServ, &hints, &results)) == 0)
{
// Print and free results
} else {
// Print error
}
}
}
ソースコードは Windows 上で正常に動作します