VirtualBox

Ignore:
Timestamp:
Mar 21, 2013 8:01:54 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
84409
Message:

RT/net: rt-network-str2ipv4.patch from xTRacker/5894 with applyed recommendations in comment 90.
introduces RTNetStrToIPv4Addr: char* -> RTNETADDRIP4.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/net/netaddrstr.cpp

    r43221 r45115  
    12851285RT_EXPORT_SYMBOL(RTNetIsIPv4AddrStr);
    12861286
     1287RTDECL(int) RTNetStrToIPv4Addr(const char *pszAddr, PRTNETADDRIPV4 pAddr)
     1288{
     1289    char *pszNext;
     1290    AssertPtrReturn(pszAddr, VERR_INVALID_PARAMETER);
     1291    AssertPtrReturn(pAddr, VERR_INVALID_PARAMETER);
     1292
     1293    int rc = RTStrToUInt8Ex(RTStrStripL(pszAddr), &pszNext, 10, &pAddr->au8[0]);
     1294    if (rc != VINF_SUCCESS && rc != VWRN_TRAILING_CHARS)
     1295        return VERR_INVALID_PARAMETER;
     1296    if (*pszNext++ != '.')
     1297        return VERR_INVALID_PARAMETER;
     1298
     1299    rc = RTStrToUInt8Ex(pszNext, &pszNext, 10, &pAddr->au8[1]);
     1300    if (rc != VINF_SUCCESS && rc != VWRN_TRAILING_CHARS)
     1301        return VERR_INVALID_PARAMETER;
     1302    if (*pszNext++ != '.')
     1303        return VERR_INVALID_PARAMETER;
     1304
     1305    rc = RTStrToUInt8Ex(pszNext, &pszNext, 10, &pAddr->au8[2]);
     1306    if (rc != VINF_SUCCESS && rc != VWRN_TRAILING_CHARS)
     1307        return VERR_INVALID_PARAMETER;
     1308    if (*pszNext++ != '.')
     1309        return VERR_INVALID_PARAMETER;
     1310
     1311    rc = RTStrToUInt8Ex(pszNext, &pszNext, 10, &pAddr->au8[3]);
     1312    if (rc != VINF_SUCCESS && rc != VWRN_TRAILING_SPACES)
     1313        return VERR_INVALID_PARAMETER;
     1314    pszNext = RTStrStripL(pszNext);
     1315    if (*pszNext)
     1316        return VERR_INVALID_PARAMETER;
     1317
     1318    return VINF_SUCCESS;
     1319}
     1320RT_EXPORT_SYMBOL(RTNetStrToIPv4Addr);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette