summaryrefslogtreecommitdiff
path: root/sysdep
diff options
context:
space:
mode:
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/unix/io.c10
-rw-r--r--sysdep/unix/timer.h4
2 files changed, 13 insertions, 1 deletions
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index f8603070..267e5896 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -293,6 +293,16 @@ tm_format_date(char *x, bird_clock_t t)
}
void
+tm_format_datetime(char *x, bird_clock_t t)
+{
+ struct tm *tm;
+
+ tm = localtime(&t);
+ if (strftime(x, TM_DATETIME_BUFFER_SIZE, "%d-%m-%Y %H:%M:%S", tm) == TM_DATETIME_BUFFER_SIZE)
+ strcpy(x, "<too-long>");
+}
+
+void
tm_format_reltime(char *x, bird_clock_t t)
{
struct tm *tm;
diff --git a/sysdep/unix/timer.h b/sysdep/unix/timer.h
index 242b330b..b33622aa 100644
--- a/sysdep/unix/timer.h
+++ b/sysdep/unix/timer.h
@@ -35,8 +35,10 @@ extern bird_clock_t now; /* Time in seconds since unknown epoch */
bird_clock_t tm_parse_date(char *); /* Convert date to bird_clock_t */
void tm_format_date(char *, bird_clock_t); /* Convert bird_clock_t to date */
#define TM_DATE_BUFFER_SIZE 12 /* Buffer size required by tm_format_date */
+void tm_format_datetime(char *, bird_clock_t); /* Convert bird_clock_t to date + time */
+#define TM_DATETIME_BUFFER_SIZE 64 /* Buffer size required by tm_format_datetime */
void tm_format_reltime(char *, bird_clock_t); /* Convert bird_clock_t to relative datetime string */
-#define TM_RELTIME_BUFFER_SIZE 12 /* Buffer size required by tm_format_time */
+#define TM_RELTIME_BUFFER_SIZE 12 /* Buffer size required by tm_format_reltime */
#ifdef TIME_T_IS_64BIT
#define TIME_INFINITY 0x7fffffffffffffff