aboutsummaryrefslogtreecommitdiff
path: root/contrib/ntp/libntp/humandate.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/libntp/humandate.c')
-rw-r--r--contrib/ntp/libntp/humandate.c66
1 files changed, 32 insertions, 34 deletions
diff --git a/contrib/ntp/libntp/humandate.c b/contrib/ntp/libntp/humandate.c
index 630c8713347e..d9d5e89df017 100644
--- a/contrib/ntp/libntp/humandate.c
+++ b/contrib/ntp/libntp/humandate.c
@@ -1,62 +1,60 @@
/*
- * humandate - convert an NTP (or the current) time to something readable
+ * humandate.c - convert an NTP (or the current) time to something readable
*/
+#include <config.h>
#include <stdio.h>
+
#include "ntp_fp.h"
#include "ntp_unixtime.h" /* includes <sys/time.h> and <time.h> */
#include "lib_strbuf.h"
#include "ntp_stdlib.h"
-static const char *months[] = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-};
-static const char *days[] = {
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-};
-
-char *
-humandate(
- u_long ntptime
- )
-{
- char *bp;
- struct tm *tm;
- tm = ntp2unix_tm(ntptime, 1);
+/* This is used in msyslog.c; we don't want to clutter up the log with
+ the year and day of the week, etc.; just the minimal date and time. */
+const char *
+humanlogtime(void)
+{
+ char * bp;
+ time_t cursec;
+ struct tm * tm;
+
+ cursec = time(NULL);
+ tm = localtime(&cursec);
if (!tm)
- return "--- --- -- ---- --:--:--";
+ return "-- --- --:--:--";
LIB_GETBUF(bp);
- (void) sprintf(bp, "%s, %s %2d %4d %2d:%02d:%02d",
- days[tm->tm_wday], months[tm->tm_mon], tm->tm_mday,
- 1900+tm->tm_year, tm->tm_hour, tm->tm_min, tm->tm_sec);
-
+ snprintf(bp, LIB_BUFLENGTH, "%2d %s %02d:%02d:%02d",
+ tm->tm_mday, months[tm->tm_mon],
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
+
return bp;
}
-/* This is used in msyslog.c; we don't want to clutter up the log with
- the year and day of the week, etc.; just the minimal date and time. */
-
-char *
-humanlogtime(void)
+/*
+ * humantime() -- like humanlogtime() but without date, and with the
+ * time to display given as an argument.
+ */
+const char *
+humantime(
+ time_t cursec
+ )
{
- char *bp;
- time_t cursec = time((time_t *) 0);
- struct tm *tm;
+ char * bp;
+ struct tm * tm;
tm = localtime(&cursec);
if (!tm)
- return "-- --- --:--:--";
+ return "--:--:--";
LIB_GETBUF(bp);
- (void) sprintf(bp, "%2d %s %02d:%02d:%02d",
- tm->tm_mday, months[tm->tm_mon],
- tm->tm_hour, tm->tm_min, tm->tm_sec);
+ snprintf(bp, LIB_BUFLENGTH, "%02d:%02d:%02d",
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
return bp;
}