Lines Matching refs:pArg

48 static int dbgcCheckAndTypePromoteArgument(PDBGC pDbgc, DBGCVARCAT enmCategory, PDBGCVAR pArg);
117 * @param pArg Where to return the string.
119 static int dbgcEvalSubString(PDBGC pDbgc, const char *pachExpr, size_t cchExpr, PDBGCVAR pArg)
167 pArg->pDesc = NULL;
168 pArg->pNext = NULL;
169 pArg->enmType = chQuote == '"' ? DBGCVAR_TYPE_STRING : DBGCVAR_TYPE_SYMBOL;
170 pArg->u.pszString = pszCopy;
171 pArg->enmRangeType = DBGCVAR_RANGE_BYTES;
172 pArg->u64Range = cchExpr;
179 static int dbgcEvalSubNum(const char *pachExpr, size_t cchExpr, unsigned uBase, PDBGCVAR pArg)
218 pArg->pDesc = NULL;
219 pArg->pNext = NULL;
220 pArg->enmType = DBGCVAR_TYPE_NUMBER;
221 pArg->u.u64Number = u64;
222 pArg->enmRangeType = DBGCVAR_RANGE_NONE;
223 pArg->u64Range = 0;
809 * @param pArg The argument to check and promote.
811 static int dbgcCheckAndTypePromoteArgument(PDBGC pDbgc, DBGCVARCAT enmCategory, PDBGCVAR pArg)
828 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
833 switch (pArg->enmType)
846 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_GC_FLAT, &Var);
850 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
852 Var.enmRangeType = pArg->enmRangeType;
853 Var.u64Range = pArg->u64Range;
857 *pArg = Var;
866 RTGCPTR GCPtr = (RTGCPTR)pArg->u.u64Number;
867 pArg->enmType = DBGCVAR_TYPE_GC_FLAT;
868 pArg->u.GCFlat = GCPtr;
883 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
887 switch (pArg->enmType)
902 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_GC_FLAT, &Var);
906 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
908 Var.enmRangeType = pArg->enmRangeType;
909 Var.u64Range = pArg->u64Range;
913 *pArg = Var;
920 RTGCPTR GCPtr = (RTGCPTR)pArg->u.u64Number;
921 pArg->enmType = DBGCVAR_TYPE_GC_FLAT;
922 pArg->u.GCFlat = GCPtr;
937 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
941 switch (pArg->enmType)
957 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_NUMBER, &Var);
961 if (pArg->enmRangeType != DBGCVAR_RANGE_NONE)
963 Var.enmRangeType = pArg->enmRangeType;
964 Var.u64Range = pArg->u64Range;
968 *pArg = Var;
984 switch (pArg->enmType)
988 pArg->enmType = DBGCVAR_TYPE_SYMBOL;
993 pArg->enmType = DBGCVAR_TYPE_STRING;
1001 size_t cch = pDbgc->CmdHlp.pfnStrPrintf(&pDbgc->CmdHlp, pDbgc->pszScratch, cbScratch, "%Dv", pArg);
1005 pArg->enmType = enmCategory == DBGCVAR_CAT_STRING ? DBGCVAR_TYPE_STRING : DBGCVAR_TYPE_SYMBOL;
1006 pArg->u.pszString = pDbgc->pszScratch;
1007 pArg->enmRangeType = DBGCVAR_RANGE_BYTES;
1008 pArg->u64Range = cch;
1075 PDBGCVAR pArg = &pDbgc->aArgs[pDbgc->iArg];
1243 int rc = dbgcEvalSub(pDbgc, pszArgs, cchArgs, paVarDescs[iVarDesc].enmCategory, pArg);
1245 rc = dbgcCheckAndTypePromoteArgument(pDbgc, paVarDescs[iVarDesc].enmCategory, pArg);
1248 pArg->pDesc = pPrevDesc = &paVarDescs[iVarDesc];
1281 pArg++;