bool Cmd_sv_Insert_Execute(COMMAND_ARGS) { UInt32 strID = 0; UInt32 insertionPos = 0; char subString[kMaxMessageLength] = { 0 }; *result = 0; if (!ExtractFormatStringArgs(0, subString, PASS_FMTSTR_ARGS, kCommandInfo_sv_Insert.numParams, &strID, &insertionPos)) return true; StringVar* lhs = g_StringMap.Get(strID); if (lhs) lhs->Insert(subString, insertionPos); return true; }
bool AssignableStringVarToken::Assign(const char* str) { StringVar* strVar = g_StringMap.Get(value.arrID); if (strVar) { UInt32 len = strVar->GetLength(); if (lower <= upper && upper < len) { strVar->Erase(lower, upper-lower + 1); if (str) { strVar->Insert(str, lower); substring = strVar->String(); } return true; } } return false; }