VirtualBox

Changeset 10702 in vbox


Ignore:
Timestamp:
Jul 16, 2008 2:21:17 PM (17 years ago)
Author:
vboxsync
Message:

Made the CFGMR3*Def() integer apis always return something, even on failure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/CFGM.cpp

    r9328 r10702  
    597597 * @param   pNode           Which node to search for pszName in.
    598598 * @param   pszName         Name of an integer value.
    599  * @param   pu64            Where to store the integer value.
     599 * @param   pu64            Where to store the integer value. This is set to the default on failure.
    600600 * @param   u64Def          The default value.
    601601 */
     
    611611            rc = VERR_CFGM_NOT_INTEGER;
    612612    }
    613     else if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT)
     613
     614    if (RT_FAILURE(rc))
    614615    {
    615616        *pu64 = u64Def;
    616         rc = VINF_SUCCESS;
    617     }
     617        if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT)
     618            rc = VINF_SUCCESS;
     619    }
     620
    618621    return rc;
    619622}
     
    658661 * @param   pNode           Which node to search for pszName in.
    659662 * @param   pszName         Name of a zero terminate character value.
    660  * @param   pszString       Where to store the string.
     663 * @param   pszString       Where to store the string. This will not be set on overflow error.
    661664 * @param   cchString       Size of the string buffer. (Includes terminator.)
    662665 * @param   pszDef          The default value.
     
    681684            rc = VERR_CFGM_NOT_STRING;
    682685    }
    683     else if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT)
     686
     687    if (RT_FAILURE(rc) && rc != VERR_CFGM_NOT_ENOUGH_SPACE)
    684688    {
    685689        size_t cchDef = strlen(pszDef);
     
    688692            memcpy(pszString, pszDef, cchDef);
    689693            memset(pszString + cchDef, 0, cchString - cchDef);
    690             rc = VINF_SUCCESS;
     694            if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT)
     695                rc = VINF_SUCCESS;
    691696        }
    692         else
     697        else if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT)
    693698            rc = VERR_CFGM_NOT_ENOUGH_SPACE;
    694699    }
     700
    695701    return rc;
    696702}
     
    17031709 * @param   pNode           Which node to search for pszName in.
    17041710 * @param   pszName         Name of an integer value.
    1705  * @param   pu64            Where to store the integer value.
     1711 * @param   pu64            Where to store the integer value. Set to default on failure.
    17061712 * @param   u64Def          The default value.
    17071713 */
     
    17361742 * @param   pNode           Which node to search for pszName in.
    17371743 * @param   pszName         Name of an integer value.
    1738  * @param   pi64            Where to store the value.
     1744 * @param   pi64            Where to store the value. Set to default on failure.
    17391745 * @param   i64Def          The default value.
    17401746 */
     
    17781784 * @param   pNode           Which node to search for pszName in.
    17791785 * @param   pszName         Name of an integer value.
    1780  * @param   pu32            Where to store the value.
     1786 * @param   pu32            Where to store the value. Set to default on failure.
    17811787 * @param   u32Def          The default value.
    17821788 */
     
    18261832 * @param   pNode           Which node to search for pszName in.
    18271833 * @param   pszName         Name of an integer value.
    1828  * @param   pi32            Where to store the value.
     1834 * @param   pi32            Where to store the value. Set to default on failure.
    18291835 * @param   i32Def          The default value.
    18301836 */
     
    18741880 * @param   pNode           Which node to search for pszName in.
    18751881 * @param   pszName         Name of an integer value.
    1876  * @param   pu16            Where to store the value.
     1882 * @param   pu16            Where to store the value. Set to default on failure.
    18771883 * @param   i16Def          The default value.
    18781884 */
     
    19221928 * @param   pNode           Which node to search for pszName in.
    19231929 * @param   pszName         Name of an integer value.
    1924  * @param   pi16            Where to store the value.
     1930 * @param   pi16            Where to store the value. Set to default on failure.
    19251931 * @param   i16Def          The default value.
    19261932 */
     
    19701976 * @param   pNode           Which node to search for pszName in.
    19711977 * @param   pszName         Name of an integer value.
    1972  * @param   pu8             Where to store the value.
     1978 * @param   pu8             Where to store the value. Set to default on failure.
    19731979 * @param   u8Def           The default value.
    19741980 */
     
    20182024 * @param   pNode           Which node to search for pszName in.
    20192025 * @param   pszName         Name of an integer value.
    2020  * @param   pi8             Where to store the value.
     2026 * @param   pi8             Where to store the value. Set to default on failure.
    20212027 * @param   i8Def           The default value.
    20222028 */
     
    20622068 * @param   pNode           Which node to search for pszName in.
    20632069 * @param   pszName         Name of an integer value.
    2064  * @param   pf              Where to store the value.
     2070 * @param   pf              Where to store the value. Set to default on failure.
    20652071 * @param   fDef            The default value.
    20662072 * @remark  This function will interpret any non-zero value as true.
     
    20972103 * @param   pNode           Which node to search for pszName in.
    20982104 * @param   pszName         Name of an integer value.
    2099  * @param   pPort           Where to store the value.
     2105 * @param   pPort           Where to store the value. Set to default on failure.
    21002106 * @param   PortDef         The default value.
    21012107 */
     
    21282134 * @param   pNode           Which node to search for pszName in.
    21292135 * @param   pszName         Name of an integer value.
    2130  * @param   pu              Where to store the value.
     2136 * @param   pu              Where to store the value. Set to default on failure.
    21312137 * @param   uDef            The default value.
    21322138 */
     
    21592165 * @param   pNode           Which node to search for pszName in.
    21602166 * @param   pszName         Name of an integer value.
    2161  * @param   pi              Where to store the value.
     2167 * @param   pi              Where to store the value. Set to default on failure.
    21622168 * @param   iDef            The default value.
    21632169 */
     
    21992205 * @param   pNode           Which node to search for pszName in.
    22002206 * @param   pszName         Name of an integer value.
    2201  * @param   ppv             Where to store the value.
     2207 * @param   ppv             Where to store the value. Set to default on failure.
    22022208 * @param   pvDef           The default value.
    22032209 */
     
    22482254 * @param   pNode           Which node to search for pszName in.
    22492255 * @param   pszName         Name of an integer value.
    2250  * @param   pGCPtr          Where to store the value.
     2256 * @param   pGCPtr          Where to store the value. Set to default on failure.
    22512257 * @param   GCPtrDef        The default value.
    22522258 */
     
    22972303 * @param   pNode           Which node to search for pszName in.
    22982304 * @param   pszName         Name of an integer value.
    2299  * @param   pGCPtr          Where to store the value.
     2305 * @param   pGCPtr          Where to store the value. Set to default on failure.
    23002306 * @param   GCPtrDef        The default value.
    23012307 */
     
    23462352 * @param   pNode           Which node to search for pszName in.
    23472353 * @param   pszName         Name of an integer value.
    2348  * @param   pGCPtr          Where to store the value.
     2354 * @param   pGCPtr          Where to store the value. Set to default on failure.
    23492355 * @param   GCPtrDef        The default value.
    23502356 */
     
    24042410 * @param   pNode           Which node to search for pszName in.
    24052411 * @param   pszName         Value name. This value must be of zero terminated character string type.
    2406  * @param   ppszString      Where to store the string pointer.
     2412 * @param   ppszString      Where to store the string pointer. Not set on failure.
    24072413 *                          Free this using MMR3HeapFree().
    24082414 */
Note: See TracChangeset for help on using the changeset viewer.

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