Returns true if this arg requires evaluation at runtime. Caller must ensure that aArgIndex is 0 or greater.
| 979 | // Returns true if this arg requires evaluation at runtime. |
| 980 | // Caller must ensure that aArgIndex is 0 or greater. |
| 981 | bool ArgIndexHasDeref(int aArgIndex) |
| 982 | { |
| 983 | #ifdef _DEBUG |
| 984 | if (aArgIndex < 0) |
| 985 | { |
| 986 | LineError(_T("DEBUG: BAD"), WARN); |
| 987 | aArgIndex = 0; // But let it continue. |
| 988 | } |
| 989 | #endif |
| 990 | if (aArgIndex >= mArgc) // Arg doesn't exist. |
| 991 | return false; |
| 992 | ArgStruct &arg = mArg[aArgIndex]; // For performance. |
| 993 | if (arg.type == ARG_TYPE_NORMAL) |
| 994 | // Simple literal values are converted to non-expressions where possible, |
| 995 | // so if this is true, the arg requires evaluation at runtime: |
| 996 | return arg.is_expression; |
| 997 | else |
| 998 | // ARG_TYPE_INPUT_VAR is currently only used by ExpressionToPostfix(); |
| 999 | // i.e. when the expression is just a simple variable reference. |
| 1000 | return (arg.type == ARG_TYPE_INPUT_VAR); |
| 1001 | } |
| 1002 | |
| 1003 | static HKEY RegConvertKey(LPTSTR aBuf, LPTSTR *aSubkey = NULL, bool *aIsRemoteRegistry = NULL) |
| 1004 | { |
nothing calls this directly
no outgoing calls
no test coverage detected