aboutsummaryrefslogtreecommitdiffstats
path: root/timeprefix.c
diff options
context:
space:
mode:
Diffstat (limited to 'timeprefix.c')
-rw-r--r--timeprefix.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/timeprefix.c b/timeprefix.c
new file mode 100644
index 0000000..1b2544b
--- /dev/null
+++ b/timeprefix.c
@@ -0,0 +1,39 @@
+/* See LICENSE file for copyright and license details. */
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+static void
+printline(const char *line)
+{
+ static struct timespec boottime;
+ time_t realtime;
+ struct tm *utctime;
+
+ clock_gettime(CLOCK_BOOTTIME, &boottime);
+ realtime = time(NULL);
+ utctime = gmtime(&realtime);
+
+ printf("[%010lu.%04lu %i-%02i-%02i %02i:%02i:%02i UTC] %s",
+ boottime.tv_sec, boottime.tv_nsec / 100000,
+ utctime->tm_year + 1900, utctime->tm_mon + 1, utctime->tm_mday,
+ utctime->tm_hour, utctime->tm_min, utctime->tm_sec,
+ line);
+
+ fflush(stdout);
+}
+
+int
+main(void)
+{
+ char *buf = NULL;
+ size_t siz = 0;
+
+ printline("--- Program started ---\n");
+ while (getline(&buf, &siz, stdin) != -1)
+ printline(buf);
+ printline("--- Program exited ---\n");
+
+ free(buf);
+ return 0;
+}