From 5b5d9159ae0922a44c2e52100fabf4f99fa12782 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 10 Feb 2009 22:42:05 +0000 Subject: [PATCH] convert into array if necessary on logAdd git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1267 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- apps/monitoring/Monitoring.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/monitoring/Monitoring.cpp b/apps/monitoring/Monitoring.cpp index 5f640a35..59768ce9 100644 --- a/apps/monitoring/Monitoring.cpp +++ b/apps/monitoring/Monitoring.cpp @@ -123,10 +123,14 @@ void Monitor::logAdd(const AmArg& args, AmArg& ret) { LogBucket& bucket = getLogBucket(args[0].asCStr()); bucket.log_lock.lock(); try { - bucket.log[args[0].asCStr()].info[args[1].asCStr()].push(AmArg(args[2])); + AmArg& val = bucket.log[args[0].asCStr()].info[args[1].asCStr()]; + if (!isArgArray(val)) { + AmArg v1 = val; + val = AmArg(); + val.push(v1); + } + val.push(AmArg(args[2])); } catch (...) { - ret.push(-1); - ret.push("ERROR while converting value"); bucket.log_lock.unlock(); throw; }