Explicitly cast time_t to long when printing it out
authorAlexander Barton <alex@barton.de>
Sun, 15 Nov 2015 14:14:12 +0000 (15:14 +0100)
committerAlexander Barton <alex@barton.de>
Sun, 15 Nov 2015 14:14:12 +0000 (15:14 +0100)
This prevents wrong sizes data types on platforms where time_t doesn't
equal a long any more, for example on OpenBSD.

src/ngircd/irc-login.c
src/ngircd/irc.c
src/ngircd/numeric.c
src/ngircd/sighandlers.c

index a7955b1..2a0a8fa 100644 (file)
@@ -873,13 +873,14 @@ IRC_PONG(CLIENT *Client, REQUEST *Req)
        if (Client_Type(Client) == CLIENT_SERVER && Conn_LastPing(conn) == 0) {
                Log(LOG_INFO,
                    "Synchronization with \"%s\" done (connection %d): %ld second%s [%ld users, %ld channels].",
-                   Client_ID(Client), conn, time(NULL) - Conn_GetSignon(conn),
+                   Client_ID(Client), conn,
+                   (long)(time(NULL) - Conn_GetSignon(conn)),
                    time(NULL) - Conn_GetSignon(conn) == 1 ? "" : "s",
                    Client_UserCount(), Channel_CountVisible(NULL));
                Conn_UpdatePing(conn);
        } else
                LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
-                        conn, time(NULL) - Conn_LastPing(conn));
+                        conn, (long)(time(NULL) - Conn_LastPing(conn)));
 
        return CONNECTED;
 } /* IRC_PONG */
index 4c775e2..cfe616f 100644 (file)
@@ -240,7 +240,7 @@ IRC_TRACE(CLIENT *Client, REQUEST *Req)
                                        PACKAGE_VERSION, Client_ID(target),
                                        Client_ID(Client_NextHop(target)),
                                        Option_String(idx2),
-                                       time(NULL) - Conn_StartTime(idx2),
+                                       (long)(time(NULL) - Conn_StartTime(idx2)),
                                        Conn_SendQ(idx), Conn_SendQ(idx2)))
                        return DISCONNECTED;
 
index 7d32ddc..82e0cf0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -185,7 +185,7 @@ Synchronize_Lists(CLIENT * Client)
        while (elem) {
                if (!IRC_WriteStrClient(Client, "GLINE %s %ld :%s",
                                        Lists_GetMask(elem),
-                                       Lists_GetValidity(elem) - time(NULL),
+                                       (long)(Lists_GetValidity(elem) - time(NULL)),
                                        Lists_GetReason(elem)))
                        return DISCONNECTED;
                elem = Lists_GetNext(elem);
index 5cde24b..e352d58 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -48,7 +48,11 @@ Dump_State(void)
 {
        Log(LOG_DEBUG, "--- Internal server state: %s ---",
            Client_ID(Client_ThisServer()));
-       Log(LOG_DEBUG, "time()=%ld", time(NULL));
+#ifdef HAVE_LONG_LONG
+       Log(LOG_DEBUG, "time()=%llu", (unsigned long long)time(NULL));
+#else
+       Log(LOG_DEBUG, "time()=%lu", (unsigned long)time(NULL));
+#endif
        Conf_DebugDump();
        Conn_DebugDump();
        Client_DebugDump();