[Libreoffice-commits] core.git: oox/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Mar 5 21:31:32 UTC 2019


 oox/source/ppt/comments.cxx |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

New commits:
commit e79377df461075815fb5d40badd81918c256c247
Author:     Matteo Casalin <matteo.casalin at yahoo.com>
AuthorDate: Sun Feb 17 23:47:00 2019 +0100
Commit:     Matteo Casalin <matteo.casalin at yahoo.com>
CommitDate: Tue Mar 5 22:31:04 2019 +0100

    Use indexed getToken and improve tokenization
    
    Third token (i.e. day) would span to the end of the string
    and conversion to int works just because it stops at first
    non-numeric character.
    
    Change-Id: I4f608aafadd634c312f7cfd986966f453bfca872
    Reviewed-on: https://gerrit.libreoffice.org/68121
    Tested-by: Jenkins
    Reviewed-by: Matteo Casalin <matteo.casalin at yahoo.com>

diff --git a/oox/source/ppt/comments.cxx b/oox/source/ppt/comments.cxx
index 468a648ea99a..d803b97a7877 100644
--- a/oox/source/ppt/comments.cxx
+++ b/oox/source/ppt/comments.cxx
@@ -29,16 +29,15 @@ void CommentAuthorList::setValues(const CommentAuthorList& list)
 }
 
 //DateTime is saved as : 2013-01-10T15:53:26.000
-void Comment::setDateTime (const OUString& _datetime)
+void Comment::setDateTime (const OUString& sDateTime)
 {
-    OUString datetime = _datetime;
-    aDateTime.Year = datetime.getToken(0,'-').toInt32();
-    aDateTime.Month = datetime.getToken(1,'-').toUInt32();
-    aDateTime.Day = datetime.getToken(2,'-').toUInt32();
-    datetime = datetime.getToken(1,'T');
-    aDateTime.Hours = datetime.getToken(0,':').toUInt32();
-    aDateTime.Minutes = datetime.getToken(1,':').toUInt32();
-    double seconds = datetime.getToken(2,':').toDouble();
+    sal_Int32 nIdx{ 0 };
+    aDateTime.Year = sDateTime.getToken(0, '-', nIdx).toInt32();
+    aDateTime.Month = sDateTime.getToken(0, '-', nIdx).toUInt32();
+    aDateTime.Day = sDateTime.getToken(0, 'T', nIdx).toUInt32();
+    aDateTime.Hours = sDateTime.getToken(0, ':', nIdx).toUInt32();
+    aDateTime.Minutes = sDateTime.getToken(0, ':', nIdx).toUInt32();
+    double seconds = sDateTime.copy(nIdx).toDouble();
     aDateTime.Seconds = floor(seconds);
     seconds -= aDateTime.Seconds;
     aDateTime.NanoSeconds = ::rtl::math::round(seconds * 1000000000);


More information about the Libreoffice-commits mailing list