本文整理汇总了C++中KviCString::toULong方法的典型用法代码示例。如果您正苦于以下问题:C++ KviCString::toULong方法的具体用法?C++ KviCString::toULong怎么用?C++ KviCString::toULong使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KviCString
的用法示例。
在下文中一共展示了KviCString::toULong方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dcc_module_normalize_target_data
static bool dcc_module_normalize_target_data(KviDccRequest * dcc, KviCString & ipaddr, KviCString & port)
{
if(!port.isUnsignedNum())
{
if(!dcc->ctcpMsg->msg->haltOutput())
{
QString szError = QString(__tr2qs_ctx("Invalid port number %1", "dcc")).arg(port.ptr());
dcc_module_request_error(dcc, szError);
}
return false;
}
struct in_addr addr;
if(ipaddr.isUnsignedNum())
{
addr.s_addr = htonl((unsigned long)ipaddr.toULong());
QString tmp;
if(!KviNetUtils::binaryIpToStringIp(addr, tmp))
{
if(!dcc->ctcpMsg->msg->haltOutput())
{
QString szError = QString(__tr2qs_ctx("Invalid IP address in old format %1", "dcc")).arg(ipaddr.ptr());
dcc_module_request_error(dcc, szError);
}
return false;
}
ipaddr = tmp;
}
else
{
//FIXME: KviCString -> QString
if(!KviNetUtils::stringIpToBinaryIp(QString(ipaddr), &addr))
{
#ifdef COMPILE_IPV6_SUPPORT
struct in6_addr addr6;
if(KviNetUtils::stringIpToBinaryIp_V6(QString(ipaddr), &addr6))
{
dcc->bIPv6 = true;
return true; // IPV6 address.
}
#endif
if(!dcc->ctcpMsg->msg->haltOutput())
{
QString szError = QString(__tr2qs_ctx("Invalid IP address %1", "dcc")).arg(ipaddr.ptr());
dcc_module_request_error(dcc, szError);
}
return false;
}
}
return true;
}