static void repl() { int argc, j; char *line, **argv; while((line = linenoise("redis> ")) != NULL) { if (line[0] != '\0') { argv = splitArguments(line,&argc); linenoiseHistoryAdd(line); if (argc > 0) { if (strcasecmp(argv[0],"quit") == 0 || strcasecmp(argv[0],"exit") == 0) exit(0); else cliSendCommand(argc, argv, 1); } /* Free the argument vector */ for (j = 0; j < argc; j++) sdsfree(argv[j]); zfree(argv); } /* linenoise() returns malloc-ed lines like readline() */ free(line); } exit(0); }
QManagedRequest QManagedRequest::fromString(const QString& s) { QManagedRequest r(""); r.lArguments = splitArguments(s); r.sCommand = r.lArguments.takeAt(0); return r; }
void InsertMacro(CMacro* Macro, std::wstring& Args) { tTextData Text; ArgumentList Arguments; splitArguments(Arguments,Args); if ((int)Arguments.size() != Macro->getArgumentCount()) { Logger::printError(Logger::Error,L"%s macro arguments (%d vs %d)", (int)Arguments.size() > Macro->getArgumentCount() ? L"Too many" : L"Not enough", Arguments.size(),Macro->getArgumentCount()); return; } Global.MacroNestingLevel++; if (Global.MacroNestingLevel == ASSEMBLER_MACRO_NESTING_LEVEL) { Logger::printError(Logger::Error,L"Maximum macro nesting level reached"); return; } int MacroCounter = Macro->getIncreaseCounter(); for (int i = 0; i < Macro->getLineCount(); i++) { Text.buffer = Macro->getLine(i,Arguments,MacroCounter); Text.buffer = Global.symbolTable.insertEquations(Text.buffer,Global.FileInfo.FileNum,Global.Section); if (CheckEquLabel(Text.buffer) == false) { Text.buffer = checkLabel(Text.buffer,false); splitLine(Text.buffer,Text.name,Text.params); if (Text.name.size() == 0) continue; bool macro = false; for (size_t i = 0; i < Global.Macros.size(); i++) { if (Text.name.compare(Global.Macros[i]->getName()) == 0) { InsertMacro(Global.Macros[i],Text.params); macro = true; } } if (macro == true) continue; if (Arch->AssembleDirective(Text.name,Text.params) == false) { Arch->AssembleOpcode(Text.name,Text.params); } } } Global.MacroNestingLevel--; }
void Console::cmdMove(const CommandLine &cl) { std::vector<Common::UString> args; splitArguments(cl.args, args); float x, z, y; if ((args.size() < 3) || (std::sscanf(args[0].c_str(), "%f", &x) != 1) || (std::sscanf(args[1].c_str(), "%f", &y) != 1) || (std::sscanf(args[2].c_str(), "%f", &z) != 1)) { printCommandHelp(cl.cmd); return; } _engine->getGame().getModule().movePC(x, y, z); }
void parseMacroDefinition(TextFile& Input, std::wstring& Args) { tTextData Text; ArgumentList Arguments; splitArguments(Arguments,Args); CMacro* Macro = new CMacro(); Macro->loadArguments(Arguments); while (true) { if (Input.atEnd()) { Logger::printError(Logger::Error,L"Unexpected end of line in macro definition"); return; } Global.FileInfo.LineNumber++; if (GetLine(Input,Text.buffer) == false) continue; if (Text.buffer.empty()) continue; splitLine(Text.buffer,Text.name,Text.params); if (Text.name.compare(L".endmacro") == 0) break; Macro->addLine(Text.buffer); } for (size_t i = 0; i < Global.Macros.size(); i++) { if (Macro->getName().compare(Global.Macros[i]->getName()) == 0) { Logger::printError(Logger::Error,L"Macro \"%s\" already defined",Macro->getName()); delete Macro; return; } } Global.Macros.push_back(Macro); }