VirtualBox

Changeset 73097 in vbox for trunk/src/bldprogs


Ignore:
Timestamp:
Jul 12, 2018 9:06:33 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123672
Message:

*: Made RT_UOFFSETOF, RT_OFFSETOF, RT_UOFFSETOF_ADD and RT_OFFSETOF_ADD work like builtin_offsetof() and require compile time resolvable requests, adding RT_UOFFSETOF_DYN for the dynamic questions that can only be answered at runtime.

Location:
trunk/src/bldprogs
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bldprogs/VBoxCPP.cpp

    r69500 r73097  
    26932693     * Allocate a structure.
    26942694     */
    2695     size_t    cbDef = RT_OFFSETOF(VBCPPMACRO, szValue[cchValue + 1 + cchDefine + 1 + cchArgNames])
     2695    size_t    cbDef = RT_UOFFSETOF_DYN(VBCPPMACRO, szValue[cchValue + 1 + cchDefine + 1 + cchArgNames])
    26962696                    + sizeof(const char *) * cArgs;
    26972697    cbDef = RT_ALIGN_Z(cbDef, sizeof(const char *));
     
    28112811        return RTEXITCODE_FAILURE;
    28122812
    2813     PVBCPPMACRO pMacro = (PVBCPPMACRO)RTMemAlloc(RT_OFFSETOF(VBCPPMACRO, szValue[cchValue + 1 + cchDefine + 1]));
     2813    PVBCPPMACRO pMacro = (PVBCPPMACRO)RTMemAlloc(RT_UOFFSETOF_DYN(VBCPPMACRO, szValue[cchValue + 1 + cchDefine + 1]));
    28142814    if (!pMacro)
    28152815        return RTMsgErrorExit(RTEXITCODE_FAILURE, "out of memory");
     
    52295229
    52305230    size_t      cchName = strlen(pThis->pszInput);
    5231     PVBCPPINPUT pInput = (PVBCPPINPUT)RTMemAlloc(RT_OFFSETOF(VBCPPINPUT, szName[cchName + 1]));
     5231    PVBCPPINPUT pInput = (PVBCPPINPUT)RTMemAlloc(RT_UOFFSETOF_DYN(VBCPPINPUT, szName[cchName + 1]));
    52325232    if (!pInput)
    52335233        return vbcppError(pThis, "out of memory");
  • trunk/src/bldprogs/VBoxPeSetVersion.cpp

    r70802 r73097  
    191191
    192192        unsigned long offShdrs = offNtHdrs
    193                                + RT_UOFFSETOF(IMAGE_NT_HEADERS32,
    194                                               OptionalHeader.DataDirectory[NtHdrsNew.x32.OptionalHeader.NumberOfRvaAndSizes]);
     193                               + RT_UOFFSETOF_DYN(IMAGE_NT_HEADERS32,
     194                                                  OptionalHeader.DataDirectory[NtHdrsNew.x32.OptionalHeader.NumberOfRvaAndSizes]);
    195195        if (fseek(pFile, offShdrs, SEEK_SET) != 0)
    196196            return Error("Failed to seek to section headers at %#lx: %s", offShdrs, strerror(errno));
  • trunk/src/bldprogs/VBoxTpG.cpp

    r69500 r73097  
    220220     * Create a new entry.
    221221     */
    222     pStr = (PVTGSTRING)RTMemAlloc(RT_OFFSETOF(VTGSTRING, szString[cch + 1]));
     222    pStr = (PVTGSTRING)RTMemAlloc(RT_UOFFSETOF_DYN(VTGSTRING, szString[cch + 1]));
    223223    if (!pStr)
    224224        return NULL;
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