int CommandListener::GetStatisticsCmd::runCommand(SocketClient *cli, int argc, char **argv) { setname(); uid_t uid = cli->getUid(); if (clientHasLogCredentials(cli)) { uid = AID_ROOT; } unsigned int logMask = -1; if (argc > 1) { logMask = 0; for (int i = 1; i < argc; ++i) { int id = atoi(argv[i]); if ((id < LOG_ID_MIN) || (LOG_ID_MAX <= id)) { cli->sendMsg("Range Error"); return 0; } logMask |= 1 << id; } } char *buf = NULL; mBuf.formatStatistics(&buf, uid, logMask); if (!buf) { cli->sendMsg("Failed"); } else { package_string(&buf); cli->sendMsg(buf); free(buf); } return 0; }
int CommandListener::GetPruneListCmd::runCommand(SocketClient *cli, int /*argc*/, char ** /*argv*/) { char *buf = NULL; mBuf.formatPrune(&buf); if (!buf) { cli->sendMsg("Failed"); } else { package_string(&buf); cli->sendMsg(buf); free(buf); } return 0; }