summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kuleshov <kuleshovmail@gmail.com>2016-02-16 00:01:44 +0600
committerAlexander Kuleshov <kuleshovmail@gmail.com>2016-02-16 00:01:44 +0600
commitebf30a086dfa526ca048cf14ae16bb403f3dcd12 (patch)
treefce1c140493a921dc9a16814b4382518797cca61
parent63408cb4f3607bc029f107e8bde46e60ecf627dc (diff)
time-util: introduce deserialize_timestamp_value()
The time-util.c provides dual_timestamp_deserialize() function to convert value to usec_t and set it as value of ts->monotonic and ts->realtime. There are some places in code which do the same but only for one clockid_t (realtime or monotonic), when dual_timestamp_deserialize() sets value of both. This patch introduces the deserialize_timestamp_value() which converts a given value to usec_t and write it to a given timestamp.
-rw-r--r--src/basic/time-util.c13
-rw-r--r--src/basic/time-util.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
index 510f018d9b..ac5988fdf9 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -459,6 +459,19 @@ int dual_timestamp_deserialize(const char *value, dual_timestamp *t) {
return 0;
}
+int deserialize_timestamp_value(const char *value, usec_t *timestamp) {
+ int r;
+
+ assert(value);
+
+ r = safe_atou64(value, timestamp);
+
+ if (r < 0)
+ return log_debug_errno(r, "Failed to parse finish timestamp value \"%s\": %m", value);
+
+ return r;
+}
+
int parse_timestamp(const char *t, usec_t *usec) {
static const struct {
const char *name;
diff --git a/src/basic/time-util.h b/src/basic/time-util.h
index 9894e626c5..a826ad75ec 100644
--- a/src/basic/time-util.h
+++ b/src/basic/time-util.h
@@ -99,6 +99,7 @@ char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy);
void dual_timestamp_serialize(FILE *f, const char *name, dual_timestamp *t);
int dual_timestamp_deserialize(const char *value, dual_timestamp *t);
+int deserialize_timestamp_value(const char *value, usec_t *timestamp);
int parse_timestamp(const char *t, usec_t *usec);