| 26 | |
| 27 | |
| 28 | void ConsoleValueStack::getArgcArgv(StringTableEntry name, U32 *argc, ConsoleValueRef **in_argv, bool popStackFrame /* = false */) |
| 29 | { |
| 30 | U32 startStack = mStackFrames[mFrame-1]; |
| 31 | U32 argCount = getMin(mStackPos - startStack, (U32)MaxArgs - 1); |
| 32 | |
| 33 | *in_argv = mArgv; |
| 34 | mArgv[0].value = CSTK.pushStackString(name); |
| 35 | |
| 36 | for(U32 i = 0; i < argCount; i++) { |
| 37 | ConsoleValueRef *ref = &mArgv[i+1]; |
| 38 | ref->value = &mStack[startStack + i]; |
| 39 | } |
| 40 | argCount++; |
| 41 | |
| 42 | *argc = argCount; |
| 43 | |
| 44 | if(popStackFrame) |
| 45 | popFrame(); |
| 46 | } |
| 47 | |
| 48 | ConsoleValueStack::ConsoleValueStack() : |
| 49 | mFrame(0), |