You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
55 lines
1.2 KiB
From 6c6c990727caa881b7b3f045dfaa0a167d347507 Mon Sep 17 00:00:00 2001 |
|
From: Mamoru TASAKA <mtasaka@fedoraproject.org> |
|
Date: Tue, 4 May 2021 09:58:54 +0900 |
|
Subject: [PATCH] blurb: show 1/100 sec on linux |
|
|
|
--- |
|
driver/blurb.c | 24 +++++++++++++++++++++++- |
|
1 file changed, 23 insertions(+), 1 deletion(-) |
|
|
|
diff --git a/driver/blurb.c b/driver/blurb.c |
|
index d732a9b..010923b 100644 |
|
--- a/driver/blurb.c |
|
+++ b/driver/blurb.c |
|
@@ -28,8 +28,23 @@ blurb (void) |
|
struct tm tm; |
|
time_t now; |
|
int i; |
|
+#ifdef __linux__ |
|
+ struct timespec tp; |
|
+ unsigned int sec_per_100 = 0; |
|
+#endif |
|
+ |
|
+#ifdef __linux__ |
|
+ if ( (clock_gettime(CLOCK_REALTIME_COARSE, &tp)) == 0 ) |
|
+ { |
|
+ now = tp.tv_sec; |
|
+ sec_per_100 = tp.tv_nsec / 10000000; /* 10^9 / 10^7 */ |
|
+ } |
|
+ else |
|
+#endif |
|
+ { |
|
+ now = time ((time_t *) 0); |
|
+ } |
|
|
|
- now = time ((time_t *) 0); |
|
localtime_r (&now, &tm); |
|
i = strlen (progname); |
|
if (i > 40) i = 40; |
|
@@ -44,6 +59,13 @@ blurb (void) |
|
buf[i++] = ':'; |
|
buf[i++] = '0' + (tm.tm_sec >= 10 ? tm.tm_sec/10 : 0); |
|
buf[i++] = '0' + (tm.tm_sec % 10); |
|
+ |
|
+#ifdef __linux__ |
|
+ buf[i++] = '.'; |
|
+ buf[i++] = '0' + (sec_per_100 >= 10 ? sec_per_100/10 : 0); |
|
+ buf[i++] = '0' + (sec_per_100 % 10); |
|
+#endif |
|
+ |
|
buf[i] = 0; |
|
return buf; |
|
} |
|
-- |
|
2.31.1 |
|
|
|
|