From 64575a5b91b0fae6283b9ad8b1356e76caa34b45 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 17 Dec 2013 17:29:49 +0100 Subject: [PATCH] sax: avoid usage of double for parsing nanoseconds here too Change-Id: Iddf93a116cb333db6465a915dae692c33a60241a --- sax/source/tools/converter.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sax/source/tools/converter.cxx b/sax/source/tools/converter.cxx index 8b0b616b36e1..62e5b4838971 100644 --- a/sax/source/tools/converter.cxx +++ b/sax/source/tools/converter.cxx @@ -1645,9 +1645,13 @@ static bool lcl_parseDateTime( } if (bSuccess) { - const sal_Int32 nDigits = std::min(nPos - nStart, 9); - OSL_ENSURE(nDigits > 0, "bad code monkey"); - nNanoSeconds=static_cast(nTemp)*(1000000000.0/pow(10.0,nDigits)); + sal_Int32 nDigits = std::min(nPos - nStart, 9); + assert(nDigits > 0); + for (; nDigits < 9; ++nDigits) + { + nTemp *= 10; + } + nNanoSeconds = nTemp; } }