From 2a4905df0153c47656555a21f3d57bbad6f3ffe1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?louiz=E2=80=99?= <louiz@louiz.org>
Date: Wed, 31 Aug 2016 01:17:45 +0200
Subject: Fix to_string(time_t) and write a unit test for it

---
 louloulibs/utils/time.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'louloulibs')

diff --git a/louloulibs/utils/time.cpp b/louloulibs/utils/time.cpp
index e23def4..b85d764 100644
--- a/louloulibs/utils/time.cpp
+++ b/louloulibs/utils/time.cpp
@@ -4,9 +4,10 @@ namespace utils
 {
 std::string to_string(const std::time_t& timestamp)
 {
-    constexpr std::size_t stamp_size = 20;
-    char date_buf[stamp_size];
-    std::strftime(date_buf, stamp_size, "%FT%TZ", std::gmtime(&timestamp));
-    return {std::begin(date_buf), std::end(date_buf)};
+  constexpr std::size_t stamp_size = 21;
+  char date_buf[stamp_size];
+  if (std::strftime(date_buf, stamp_size, "%FT%TZ", std::gmtime(&timestamp)) != stamp_size - 1)
+    return "";
+  return {std::begin(date_buf), std::end(date_buf) - 1};
 }
 }
\ No newline at end of file
-- 
cgit v1.2.3