MCPcopy Create free account
hub / github.com/SafeBreach-Labs/PoolParty / ParseArgs

Function ParseArgs

PoolParty/main.cpp:43–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43POOL_PARTY_CMD_ARGS ParseArgs(int argc, char** argv) {
44 if (argc < 5) {
45 PrintUsage();
46 throw std::runtime_error("Too few arguments supplied ");
47 }
48
49 POOL_PARTY_CMD_ARGS CmdArgs = { 0 };
50
51 std::vector<std::string> args(argv + 1, argv + argc);
52 for (auto i = 0; i < args.size(); i++)
53 {
54 auto CmdArg = args.at(i);
55
56 if (CmdArg == "-V" || CmdArg == "--variant-id")
57 {
58 CmdArgs.VariantId = stoi(args.at(++i));
59 continue;
60 }
61 if (CmdArg == "-P" || CmdArg == "--target-pid")
62 {
63 CmdArgs.TargetPid = stoi(args.at(++i));
64 continue;
65 }
66 if (CmdArg == "-D" || CmdArg == "--debug-privilege")
67 {
68 CmdArgs.bDebugPrivilege = TRUE;
69 continue;
70 }
71 PrintUsage();
72 throw std::runtime_error((boost::format("Invalid option: %s") % CmdArg).str());
73 }
74
75 return CmdArgs;
76}
77
78std::unique_ptr<PoolParty> PoolPartyFactory(int VariantId, int TargetPid)
79{

Callers 1

mainFunction · 0.85

Calls 1

PrintUsageFunction · 0.85

Tested by

no test coverage detected