diff --git a/apps/monitoring/Monitoring.cpp b/apps/monitoring/Monitoring.cpp index 927202c3..847eeac5 100644 --- a/apps/monitoring/Monitoring.cpp +++ b/apps/monitoring/Monitoring.cpp @@ -254,6 +254,7 @@ void Monitor::clearFinished() { void Monitor::get(const AmArg& args, AmArg& ret) { assertArgCStr(args[0]); + ret.assertArray(); LogBucket& bucket = getLogBucket(args[0].asCStr()); bucket.log_lock.lock(); std::map::iterator it=bucket.log.find(args[0].asCStr()); @@ -282,6 +283,7 @@ void Monitor::getAttribute(const AmArg& args, AmArg& ret) { #define DEF_GET_ATTRIB_FUNC(func_name, cond) \ void Monitor::func_name(const AmArg& args, AmArg& ret) { \ assertArgCStr(args[0]); \ + ret.assertArray(); \ string attr_name = args[0].asCStr(); \ time_t now = time(0); \ for (int i=0;isecond.finished && #undef DEF_GET_ATTRIB_FUNC void Monitor::listAll(const AmArg& args, AmArg& ret) { - for (int i=0;i::iterator it= logs[i].log.begin(); it != logs[i].log.end(); it++) { @@ -317,6 +320,7 @@ void Monitor::listAll(const AmArg& args, AmArg& ret) { } void Monitor::listByFilter(const AmArg& args, AmArg& ret) { + ret.assertArray(); for (int i=0;i