From aeda5eb604accff170271dbb2be22f9ff4eeb702 Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 23 Feb 2016 13:08:13 +0100 Subject: [PATCH] Diameter - fix for meta_handler *value_exponent --- agents/libdmt.go | 4 ++-- agents/libdmt_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agents/libdmt.go b/agents/libdmt.go index 471c6a9c5..9b89608cf 100644 --- a/agents/libdmt.go +++ b/agents/libdmt.go @@ -228,11 +228,11 @@ func metaValueExponent(m *diam.Message, argsTpl utils.RSRFields, roundingDecimal if err != nil { return "", err } - exp, err := strconv.ParseFloat(handlerArgs[1], 64) + exp, err := strconv.Atoi(handlerArgs[1]) if err != nil { return "", err } - res := val * math.Exp(exp) + res := val * math.Pow10(exp) return strconv.FormatFloat(utils.Round(res, roundingDecimals, utils.ROUNDING_MIDDLE), 'f', -1, 64), nil } diff --git a/agents/libdmt_test.go b/agents/libdmt_test.go index e56252a35..0814f15ec 100644 --- a/agents/libdmt_test.go +++ b/agents/libdmt_test.go @@ -106,7 +106,7 @@ func TestMetaValueExponent(t *testing.T) { }) if val, err := metaValueExponent(m, utils.ParseRSRFieldsMustCompile("Requested-Service-Unit>CC-Money>Unit-Value>Value-Digits;^|;Requested-Service-Unit>CC-Money>Unit-Value>Exponent", utils.INFIELD_SEP), 10); err != nil { t.Error(err) - } else if val != "67.3794699909" { + } else if val != "0.1" { t.Error("Received: ", val) } if _, err = metaValueExponent(m, utils.ParseRSRFieldsMustCompile("Requested-Service-Unit>CC-Money>Unit-Value>Value-Digits;Requested-Service-Unit>CC-Money>Unit-Value>Exponent", utils.INFIELD_SEP), 10); err == nil {