bool cVarParser::ParseShellCmd(const string& input) { int cmdPos = input.find("("); int cmdArgsBegin = input.find(","); int cmdArgsEnd = input.rfind(")"); if (cmdPos == -1 || cmdArgsEnd == -1) return false; string shellcmd(input.begin() + cmdPos + 1, input.begin() + (cmdArgsBegin >= 0?cmdArgsBegin:cmdArgsEnd)); shellcmd = Strip(shellcmd); cmdArgs = ""; if (cmdArgsBegin >= 0) cmdArgs = string(input.begin() + cmdArgsBegin + 1, input.begin() + cmdArgsEnd); string cmdVDR = "varcmd: " + shellcmd; cmd = new cCommand; if (!cmd->Parse(cmdVDR.c_str())) { LogFile.eSysLog("error parsing command: %s", input.c_str()); delete cmd; cmd = NULL; return false; } type = cVarParser::shellcmd; return true; }
int main(int argc, char **argv) { int fd; getvar(argc,argv); fd=server_socket; over(fd); shellcmd(fd); closesocket(fd); WSACleanup( ); return(0); }
int main() { shellcmd("ls kangear"); }