src: fix format truncation errors on gcc 7
authorFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 21 Nov 2017 08:43:09 +0000 (09:43 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 21 Nov 2017 09:11:13 +0000 (10:11 +0100)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/fpm.c
src/scheduler.c

index 0537dcd..322bb48 100644 (file)
--- a/src/fpm.c
+++ b/src/fpm.c
@@ -176,7 +176,7 @@ const char *
 fpmtoa(fpm a)
 {
   static int idx = 0;
-  static char ret[4][20];
+  static char ret[4][22];
 
   idx = (idx + 1) % (sizeof(ret) / sizeof(ret[0]));
   snprintf(ret[idx], sizeof(ret[0]), "%ld.%03ld", (sfpm) a >> FPM_BIT, (1000 * ((sfpm) (a) & FPM_MSK) + (FPM_NUM / 2)) >> FPM_BIT);
index 1d1aafa..e6563b8 100644 (file)
@@ -854,14 +854,14 @@ olsr_wallclock_string(void)
 {
   static char buf[sizeof("00:00:00.000000")];
   struct timeval now;
-  int sec, usec;
+  unsigned long sec, usec;
 
   gettimeofday(&now, NULL);
 
-  sec = (int)now.tv_sec + olsr_get_timezone();
-  usec = (int)now.tv_usec;
+  sec = (unsigned long) (now.tv_sec + olsr_get_timezone());
+  usec = (unsigned long) (now.tv_usec % 1000000);
 
-  snprintf(buf, sizeof(buf), "%02d:%02d:%02d.%06d", (sec % 86400) / 3600, (sec % 3600) / 60, sec % 60, usec);
+  snprintf(buf, sizeof(buf), "%02lu:%02lu:%02lu.%06lu", (sec % 86400) / 3600, (sec % 3600) / 60, sec % 60, usec);
 
   return buf;
 }
@@ -877,7 +877,7 @@ olsr_wallclock_string(void)
 const char *
 olsr_clock_string(uint32_t clk)
 {
-  static char buf[sizeof("00:00:00.000")];
+  static char buf[sizeof("00:00:00.000  ")];
 
   /* On most systems a clocktick is a 10ms quantity. */
   unsigned int msec = clk % 1000;