VirtualBox

Changeset 73996 in vbox


Ignore:
Timestamp:
Aug 31, 2018 10:40:15 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
124737
Message:

IPRT/json: don't check the handle twice. bugref:9167

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/misc/json.cpp

    r73981 r73996  
    13511351
    13521352
    1353 #define RTJSON_ASSERT_TYPE_RETURN(pJson, enmExpectedType, ret) do { \
     1353#define RTJSON_ASSERT_VALID_HANDLE_AND_TYPE_RETURN(pJson, enmExpectedType, ret) do { \
    13541354        AssertPtrReturn((pJson), (ret));  \
    13551355        AssertReturn((pJson) != NIL_RTJSONVAL, (ret)); \
     
    13581358
    13591359#define RTJSON_TYPECHECK_RETURN(pJson, enmExpectedType) do {\
    1360         if (RT_LIKELY((pJson) != NIL_RTJSONVAL)) { /*likely*/ } \
    1361         else return VERR_INVALID_HANDLE; \
    13621360        if ((pJson)->enmType == (enmExpectedType)) { /*likely*/ } \
    1363         else return VERR_JSON_VALUE_INVALID_TYPE; \
     1361        else { /*AssertFailed();*/ return VERR_JSON_VALUE_INVALID_TYPE; } \
    13641362    } while (0)
    13651363
    13661364
    13671365#define RTJSON_TYPECHECK_CONTAINER_RETURN(pJson) do { \
    1368         if (RT_LIKELY((pJson) != NIL_RTJSONVAL)) { /* likely */ } \
    1369         else return VERR_INVALID_HANDLE; \
    13701366        if (   (pJson)->enmType == RTJSONVALTYPE_ARRAY  \
    13711367            || (pJson)->enmType == RTJSONVALTYPE_OBJECT) \
    13721368        { /* likely */ } \
    1373         else return VERR_JSON_VALUE_INVALID_TYPE; \
     1369        else { /*AssertFailed();*/ return VERR_JSON_VALUE_INVALID_TYPE;} \
    13741370    } while (0)
    13751371
     
    13781374{
    13791375    PRTJSONVALINT pThis = hJsonVal;
    1380     RTJSON_ASSERT_TYPE_RETURN(pThis, RTJSONVALTYPE_STRING, NULL);
     1376    RTJSON_ASSERT_VALID_HANDLE_AND_TYPE_RETURN(pThis, RTJSONVALTYPE_STRING, NULL);
    13811377
    13821378    return pThis->Type.String.pszStr;
     
    14871483{
    14881484    PRTJSONVALINT pThis = hJsonVal;
    1489     RTJSON_ASSERT_TYPE_RETURN(pThis, RTJSONVALTYPE_ARRAY, 0);
     1485    RTJSON_ASSERT_VALID_HANDLE_AND_TYPE_RETURN(pThis, RTJSONVALTYPE_ARRAY, 0);
    14901486
    14911487    return pThis->Type.Array.cItems;
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