VirtualBox

Changeset 26269 in vbox for trunk/src/VBox/Disassembler


Ignore:
Timestamp:
Feb 5, 2010 3:41:34 AM (15 years ago)
Author:
vboxsync
Message:

DisasmCore.cpp: Drop the size argument to disasmAddString*() since it's always a szParam.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/DisasmCore.cpp

    r26266 r26269  
    5252static int disCoreOne(PDISCPUSTATE pCpu, RTUINTPTR InstructionAddr, unsigned *pcbInstruction);
    5353#if !defined(DIS_CORE_ONLY) && defined(LOG_ENABLED)
    54 static void disasmAddString(char *psz, size_t cbString, const char *pszString);
    55 static void disasmAddStringF(char *psz, size_t cbString, const char *pszFormat, ...);
     54static void disasmAddString(char *psz, const char *pszString);
     55static void disasmAddStringF(char *psz, const char *pszFormat, ...);
    5656static void disasmAddChar(char *psz, char ch);
    57 # define disasmAddStringF1(psz, cb, pszFmt, a1)         disasmAddStringF(psz, cb, pszFmt, a1)
    58 # define disasmAddStringF2(psz, cb, pszFmt, a1, a2)     disasmAddStringF(psz, cb, pszFmt, a1, a2)
    59 # define disasmAddStringF3(psz, cb, pszFmt, a1, a2, a3) disasmAddStringF(psz, cb, pszFmt, a1, a2, a3)
     57# define disasmAddStringF1(psz, pszFmt, a1)         disasmAddStringF(psz, pszFmt, a1)
     58# define disasmAddStringF2(psz, pszFmt, a1, a2)     disasmAddStringF(psz, pszFmt, a1, a2)
     59# define disasmAddStringF3(psz, pszFmt, a1, a2, a3) disasmAddStringF(psz, pszFmt, a1, a2, a3)
    6060#else
    61 # define disasmAddString(psz, cb, pszString)            do {} while (0)
    62 # define disasmAddStringF1(psz, cb, pszFmt, a1)         do {} while (0)
    63 # define disasmAddStringF2(psz, cb, pszFmt, a1, a2)     do {} while (0)
    64 # define disasmAddStringF3(psz, cb, pszFmt, a1, a2, a3) do {} while (0)
    65 # define disasmAddChar(psz, ch)                         do {} while (0)
     61# define disasmAddString(psz, pszString)            do {} while (0)
     62# define disasmAddStringF1(psz, pszFmt, a1)         do {} while (0)
     63# define disasmAddStringF2(psz, pszFmt, a1, a2)     do {} while (0)
     64# define disasmAddStringF3(psz, pszFmt, a1, a2, a3) do {} while (0)
     65# define disasmAddChar(psz, ch)                     do {} while (0)
    6666#endif
    6767
     
    571571    const char **ppszSIBIndexReg;
    572572    const char **ppszSIBBaseReg;
    573     char szTemp[32];
    574     szTemp[0] = '\0';
    575573
    576574    scale = pCpu->SIB.Bits.Scale;
     
    603601
    604602         if (base == 5 && pCpu->ModRM.Bits.Mod == 0)
    605              disasmAddStringF2(szTemp, sizeof(szTemp), "%s%s", ppszSIBIndexReg[index], szSIBScale[scale]);
     603             disasmAddStringF2(pParam->szParam, "%s%s", ppszSIBIndexReg[index], szSIBScale[scale]);
    606604         else
    607              disasmAddStringF3(szTemp, sizeof(szTemp), "%s+%s%s", ppszSIBBaseReg[base], ppszSIBIndexReg[index], szSIBScale[scale]);
     605             disasmAddStringF3(pParam->szParam, "%s+%s%s", ppszSIBBaseReg[base], ppszSIBIndexReg[index], szSIBScale[scale]);
    608606    }
    609607    else
    610608    {
    611609         if (base != 5 || pCpu->ModRM.Bits.Mod != 0)
    612              disasmAddStringF1(szTemp, sizeof(szTemp), "%s", ppszSIBBaseReg[base]);
     610             disasmAddStringF1(pParam->szParam, "%s", ppszSIBBaseReg[base]);
    613611    }
    614612
     
    616614    {
    617615        // [scaled index] + disp32
    618         disasmAddString(pParam->szParam, sizeof(pParam->szParam), &szTemp[0]);
    619616        if (pCpu->addrmode == CPUMODE_32BIT)
    620617        {
     
    634631    else
    635632    {
    636         disasmAddString(pParam->szParam, sizeof(pParam->szParam), szTemp);
    637 
    638633        pParam->flags |= USE_BASE | regtype;
    639634        pParam->base.reg_gen = base;
     
    739734                    pParam->base.reg_ctrl = reg;
    740735
    741                 disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "CR%d", pParam->base.reg_ctrl);
     736                disasmAddStringF1(pParam->szParam, "CR%d", pParam->base.reg_ctrl);
    742737                return 0;
    743738
    744739            case OP_PARM_D: //debug register
    745                 disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "DR%d", reg);
     740                disasmAddStringF1(pParam->szParam, "DR%d", reg);
    746741                pParam->flags |= USE_REG_DBG;
    747742                pParam->base.reg_dbg = reg;
     
    750745            case OP_PARM_P: //MMX register
    751746                reg &= 7;   /* REX.R has no effect here */
    752                 disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "MM%d", reg);
     747                disasmAddStringF1(pParam->szParam, "MM%d", reg);
    753748                pParam->flags |= USE_REG_MMX;
    754749                pParam->base.reg_mmx = reg;
     
    763758            case OP_PARM_T: //test register
    764759                reg &= 7;   /* REX.R has no effect here */
    765                 disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "TR%d", reg);
     760                disasmAddStringF1(pParam->szParam, "TR%d", reg);
    766761                pParam->flags |= USE_REG_TEST;
    767762                pParam->base.reg_test = reg;
     
    775770
    776771            case OP_PARM_V: //XMM register
    777                 disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "XMM%d", reg);
     772                disasmAddStringF1(pParam->szParam, "XMM%d", reg);
    778773                pParam->flags |= USE_REG_XMM;
    779774                pParam->base.reg_xmm = reg;
     
    815810                    pParam->flags |= USE_RIPDISPLACEMENT32;
    816811                    pParam->disp32 = pCpu->disp;
    817                     disasmAddString(pParam->szParam, sizeof(pParam->szParam), "RIP+");
     812                    disasmAddString(pParam->szParam, "RIP+");
    818813                    disasmPrintDisp32(pParam);
    819814                }
     
    12101205    pParam->size   = sizeof(uint8_t);
    12111206
    1212     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%02Xh", (uint32_t)pParam->parval);
     1207    disasmAddStringF1(pParam->szParam, "0%02Xh", (uint32_t)pParam->parval);
    12131208    return sizeof(uint8_t);
    12141209}
     
    12281223        pParam->flags |= USE_IMMEDIATE32_SX8;
    12291224        pParam->size   = sizeof(uint32_t);
    1230         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%08Xh", (uint32_t)pParam->parval);
     1225        disasmAddStringF1(pParam->szParam, "0%08Xh", (uint32_t)pParam->parval);
    12311226    }
    12321227    else
     
    12361231        pParam->flags |= USE_IMMEDIATE64_SX8;
    12371232        pParam->size   = sizeof(uint64_t);
    1238         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%016RX64h", pParam->parval);
     1233        disasmAddStringF1(pParam->szParam, "0%016RX64h", pParam->parval);
    12391234    }
    12401235    else
     
    12431238        pParam->flags |= USE_IMMEDIATE16_SX8;
    12441239        pParam->size   = sizeof(uint16_t);
    1245         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%04Xh", (uint16_t)pParam->parval);
     1240        disasmAddStringF1(pParam->szParam, "0%04Xh", (uint16_t)pParam->parval);
    12461241    }
    12471242    return sizeof(uint8_t);
     
    12611256    pParam->size   = sizeof(uint16_t);
    12621257
    1263     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%04Xh", (uint16_t)pParam->parval);
     1258    disasmAddStringF1(pParam->szParam, "0%04Xh", (uint16_t)pParam->parval);
    12641259    return sizeof(uint16_t);
    12651260}
     
    12781273    pParam->size   = sizeof(uint32_t);
    12791274
    1280     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%08Xh", (uint32_t)pParam->parval);
     1275    disasmAddStringF1(pParam->szParam, "0%08Xh", (uint32_t)pParam->parval);
    12811276    return sizeof(uint32_t);
    12821277}
     
    12951290    pParam->size   = sizeof(uint64_t);
    12961291
    1297     disasmAddStringF2(pParam->szParam, sizeof(pParam->szParam), "0%08X%08Xh",
     1292    disasmAddStringF2(pParam->szParam, "0%08X%08Xh",
    12981293                      (uint32_t)pParam->parval, (uint32_t)(pParam->parval >> 32));
    12991294    return sizeof(uint64_t);
     
    13151310        pParam->size   = sizeof(uint32_t);
    13161311
    1317         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%08Xh", (uint32_t)pParam->parval);
     1312        disasmAddStringF1(pParam->szParam, "0%08Xh", (uint32_t)pParam->parval);
    13181313        return sizeof(uint32_t);
    13191314    }
     
    13251320        pParam->size   = sizeof(uint64_t);
    13261321
    1327         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%RX64h", pParam->parval);
     1322        disasmAddStringF1(pParam->szParam, "0%RX64h", pParam->parval);
    13281323        return sizeof(uint64_t);
    13291324    }
     
    13341329        pParam->size   = sizeof(uint16_t);
    13351330
    1336         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%04Xh", (uint32_t)pParam->parval);
     1331        disasmAddStringF1(pParam->szParam, "0%04Xh", (uint32_t)pParam->parval);
    13371332        return sizeof(uint16_t);
    13381333    }
     
    13611356        pParam->size   = sizeof(uint16_t);
    13621357
    1363         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%04Xh", (uint32_t)pParam->parval);
     1358        disasmAddStringF1(pParam->szParam, "0%04Xh", (uint32_t)pParam->parval);
    13641359        return sizeof(uint16_t);
    13651360    }
     
    13721367            pParam->flags |= USE_IMMEDIATE64;
    13731368            pParam->size   = sizeof(uint64_t);
    1374             disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%RX64h", pParam->parval);
     1369            disasmAddStringF1(pParam->szParam, "0%RX64h", pParam->parval);
    13751370        }
    13761371        else
     
    13791374            pParam->flags |= USE_IMMEDIATE32;
    13801375            pParam->size   = sizeof(uint32_t);
    1381             disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "0%08Xh", (uint32_t)pParam->parval);
     1376            disasmAddStringF1(pParam->szParam, "0%08Xh", (uint32_t)pParam->parval);
    13821377        }
    13831378        return sizeof(uint32_t);
     
    14031398    pParam->size   = sizeof(uint8_t);
    14041399
    1405     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), " (0%02Xh)", (uint32_t)pParam->parval);
     1400    disasmAddStringF1(pParam->szParam, " (0%02Xh)", (uint32_t)pParam->parval);
    14061401    return sizeof(char);
    14071402}
     
    14241419        pParam->size   = sizeof(int32_t);
    14251420
    1426         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), " (0%08Xh)", (uint32_t)pParam->parval);
     1421        disasmAddStringF1(pParam->szParam, " (0%08Xh)", (uint32_t)pParam->parval);
    14271422        return sizeof(int32_t);
    14281423    }
     
    14351430        pParam->size   = sizeof(int64_t);
    14361431
    1437         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), " (0%RX64h)", pParam->parval);
     1432        disasmAddStringF1(pParam->szParam, " (0%RX64h)", pParam->parval);
    14381433        return sizeof(int32_t);
    14391434    }
     
    14441439        pParam->size   = sizeof(int16_t);
    14451440
    1446         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), " (0%04Xh)", (uint32_t)pParam->parval);
     1441        disasmAddStringF1(pParam->szParam, " (0%04Xh)", (uint32_t)pParam->parval);
    14471442        return sizeof(int16_t);
    14481443    }
     
    14721467            pParam->size   = sizeof(uint16_t) + sizeof(uint32_t);
    14731468
    1474             disasmAddStringF2(pParam->szParam, sizeof(pParam->szParam), "0%04X:0%08Xh", (uint32_t)(pParam->parval>>32), (uint32_t)pParam->parval);
     1469            disasmAddStringF2(pParam->szParam, "0%04X:0%08Xh", (uint32_t)(pParam->parval>>32), (uint32_t)pParam->parval);
    14751470            return sizeof(uint32_t) + sizeof(uint16_t);
    14761471        }
     
    14851480            pParam->size   = sizeof(uint32_t);
    14861481
    1487             disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "[0%08Xh]", pParam->disp32);
     1482            disasmAddStringF1(pParam->szParam, "[0%08Xh]", pParam->disp32);
    14881483            return sizeof(uint32_t);
    14891484        }
     
    15021497        pParam->size   = sizeof(uint64_t);
    15031498
    1504         disasmAddStringF2(pParam->szParam, sizeof(pParam->szParam), "[0%08X%08Xh]", (uint32_t)(pParam->disp64 >> 32), (uint32_t)pParam->disp64);
     1499        disasmAddStringF2(pParam->szParam, "[0%08X%08Xh]", (uint32_t)(pParam->disp64 >> 32), (uint32_t)pParam->disp64);
    15051500        return sizeof(uint64_t);
    15061501    }
     
    15131508            pParam->size   = 2*sizeof(uint16_t);
    15141509
    1515             disasmAddStringF2(pParam->szParam, sizeof(pParam->szParam), "0%04X:0%04Xh", (uint32_t)(pParam->parval>>16), (uint16_t)pParam->parval );
     1510            disasmAddStringF2(pParam->szParam, "0%04X:0%04Xh", (uint32_t)(pParam->parval>>16), (uint16_t)pParam->parval );
    15161511            return sizeof(uint32_t);
    15171512        }
     
    15261521            pParam->size   = sizeof(uint16_t);
    15271522
    1528             disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "[0%04Xh]", (uint32_t)pParam->disp16);
     1523            disasmAddStringF1(pParam->szParam, "[0%04Xh]", (uint32_t)pParam->disp16);
    15291524            return sizeof(uint16_t);
    15301525        }
     
    16671662{
    16681663    disasmGetPtrString(pCpu, pOp, pParam);
    1669     disasmAddString(pParam->szParam, sizeof(pParam->szParam), (pCpu->addrmode == CPUMODE_32BIT) ? "DS:ESI" : "DS:SI");
     1664    disasmAddString(pParam->szParam, (pCpu->addrmode == CPUMODE_32BIT) ? "DS:ESI" : "DS:SI");
    16701665
    16711666    pParam->flags |= USE_POINTER_DS_BASED;
     
    16921687unsigned ParseXb(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu)
    16931688{
    1694     disasmAddString(pParam->szParam, sizeof(pParam->szParam), (pCpu->addrmode == CPUMODE_32BIT) ? "DS:ESI" : "DS:SI");
     1689    disasmAddString(pParam->szParam, (pCpu->addrmode == CPUMODE_32BIT) ? "DS:ESI" : "DS:SI");
    16951690
    16961691    pParam->flags |= USE_POINTER_DS_BASED;
     
    17181713{
    17191714    disasmGetPtrString(pCpu, pOp, pParam);
    1720     disasmAddString(pParam->szParam, sizeof(pParam->szParam), (pCpu->addrmode == CPUMODE_32BIT) ? "ES:EDI" : "ES:DI");
     1715    disasmAddString(pParam->szParam, (pCpu->addrmode == CPUMODE_32BIT) ? "ES:EDI" : "ES:DI");
    17211716
    17221717    pParam->flags |= USE_POINTER_ES_BASED;
     
    17431738unsigned ParseYb(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu)
    17441739{
    1745     disasmAddString(pParam->szParam, sizeof(pParam->szParam), (pCpu->addrmode == CPUMODE_32BIT) ? "ES:EDI" : "ES:DI");
     1740    disasmAddString(pParam->szParam, (pCpu->addrmode == CPUMODE_32BIT) ? "ES:EDI" : "ES:DI");
    17461741
    17471742    pParam->flags |= USE_POINTER_ES_BASED;
     
    23512346            idx += (USE_REG_SPL - USE_REG_AH);
    23522347        }
    2353         disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMReg8[idx]);
     2348        disasmAddString(pParam->szParam, szModRMReg8[idx]);
    23542349
    23552350        pParam->flags |= USE_REG_GEN8;
     
    23582353
    23592354    case OP_PARM_w:
    2360         disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMReg16[idx]);
     2355        disasmAddString(pParam->szParam, szModRMReg16[idx]);
    23612356        Assert(idx < (pCpu->prefix & PREFIX_REX) ? 16 : 8);
    23622357
     
    23662361
    23672362    case OP_PARM_d:
    2368         disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMReg32[idx]);
     2363        disasmAddString(pParam->szParam, szModRMReg32[idx]);
    23692364        Assert(idx < (pCpu->prefix & PREFIX_REX) ? 16 : 8);
    23702365
     
    23742369
    23752370    case OP_PARM_q:
    2376         disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMReg64[idx]);
     2371        disasmAddString(pParam->szParam, szModRMReg64[idx]);
    23772372        pParam->flags |= USE_REG_GEN64;
    23782373        pParam->base.reg_gen = idx;
     
    23932388void disasmModRMReg16(PDISCPUSTATE pCpu, PCOPCODE pOp, unsigned idx, POP_PARAMETER pParam)
    23942389{
    2395     disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMReg1616[idx]);
     2390    disasmAddString(pParam->szParam, szModRMReg1616[idx]);
    23962391    pParam->flags |= USE_REG_GEN16;
    23972392    pParam->base.reg_gen = BaseModRMReg16[idx];
     
    24182413
    24192414    idx = RT_MIN(idx, RT_ELEMENTS(szModRMSegReg)-1);
    2420     disasmAddString(pParam->szParam, sizeof(pParam->szParam), szModRMSegReg[idx]);
     2415    disasmAddString(pParam->szParam, szModRMSegReg[idx]);
    24212416    pParam->flags |= USE_REG_SEG;
    24222417    pParam->base.reg_seg = (DIS_SELREG)idx;
     
    24262421void disasmPrintAbs32(POP_PARAMETER pParam)
    24272422{
    2428     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%08Xh", pParam->disp32);
     2423    disasmAddStringF1(pParam->szParam, "%08Xh", pParam->disp32);
    24292424}
    24302425//*****************************************************************************
     
    24322427void disasmPrintDisp32(POP_PARAMETER pParam)
    24332428{
    2434     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%08Xh", pParam->disp32);
     2429    disasmAddStringF1(pParam->szParam, "%08Xh", pParam->disp32);
    24352430}
    24362431//*****************************************************************************
     
    24382433void disasmPrintDisp64(POP_PARAMETER pParam)
    24392434{
    2440     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%16RX64h", pParam->disp64);
     2435    disasmAddStringF1(pParam->szParam, "%16RX64h", pParam->disp64);
    24412436}
    24422437//*****************************************************************************
     
    24442439void disasmPrintDisp8(POP_PARAMETER pParam)
    24452440{
    2446     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%d", pParam->disp8);
     2441    disasmAddStringF1(pParam->szParam, "%d", pParam->disp8);
    24472442}
    24482443//*****************************************************************************
     
    24502445void disasmPrintDisp16(POP_PARAMETER pParam)
    24512446{
    2452     disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%04Xh", pParam->disp16);
     2447    disasmAddStringF1(pParam->szParam, "%04Xh", pParam->disp16);
    24532448}
    24542449//*****************************************************************************
     
    24832478
    24842479    case OP_PARM_b:
    2485         disasmAddString(pParam->szParam, sizeof(pParam->szParam), "byte ptr ");
     2480        disasmAddString(pParam->szParam, "byte ptr ");
    24862481        break;
    24872482
    24882483    case OP_PARM_w:
    2489         disasmAddString(pParam->szParam, sizeof(pParam->szParam), "word ptr ");
     2484        disasmAddString(pParam->szParam, "word ptr ");
    24902485        break;
    24912486
    24922487    case OP_PARM_d:
    2493         disasmAddString(pParam->szParam, sizeof(pParam->szParam), "dword ptr ");
     2488        disasmAddString(pParam->szParam, "dword ptr ");
    24942489        break;
    24952490
    24962491    case OP_PARM_q:
    24972492    case OP_PARM_dq:
    2498         disasmAddString(pParam->szParam, sizeof(pParam->szParam), "qword ptr ");
     2493        disasmAddString(pParam->szParam, "qword ptr ");
    24992494        break;
    25002495
    25012496    case OP_PARM_p:
    2502         disasmAddString(pParam->szParam, sizeof(pParam->szParam), "far ptr ");
     2497        disasmAddString(pParam->szParam, "far ptr ");
    25032498        break;
    25042499
     
    25122507    }
    25132508    if (pCpu->prefix & PREFIX_SEG)
    2514         disasmAddStringF1(pParam->szParam, sizeof(pParam->szParam), "%s:", szModRMSegReg[pCpu->enmPrefixSeg]);
     2509        disasmAddStringF1(pParam->szParam, "%s:", szModRMSegReg[pCpu->enmPrefixSeg]);
    25152510}
    25162511//*****************************************************************************
     
    26162611//*****************************************************************************
    26172612//*****************************************************************************
    2618 void disasmAddString(char *psz, size_t size, const char *pszAdd)
    2619 {
    2620     NOREF(size);
     2613void disasmAddString(char *psz, const char *pszAdd)
     2614{
    26212615    strcat(psz, pszAdd);
    26222616}
    26232617//*****************************************************************************
    26242618//*****************************************************************************
    2625 void disasmAddStringF(char *psz, size_t size, const char *pszFormat, ...)
     2619void disasmAddStringF(char *psz, const char *pszFormat, ...)
    26262620{
    26272621    va_list args;
    26282622    va_start(args, pszFormat);
    2629     size_t cchCur = strlen(psz);
    2630     RTStrPrintfV(psz + cchCur, size - cchCur, pszFormat, args);
     2623    size_t  cchCur = strlen(psz);
     2624    Assert(cchCur < RT_SIZEOFMEMB(OP_PARAMETER, szParam));
     2625    RTStrPrintfV(psz + cchCur, RT_SIZEOFMEMB(OP_PARAMETER, szParam) - cchCur,
     2626                 pszFormat, args);
    26312627    va_end(args);
    26322628}
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