]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
time-util: introduce deserialize_timestamp_value()
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Mon, 15 Feb 2016 18:01:44 +0000 (00:01 +0600)
committerAlexander Kuleshov <kuleshovmail@gmail.com>
Mon, 15 Feb 2016 18:01:44 +0000 (00:01 +0600)
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.

src/basic/time-util.c
src/basic/time-util.h

index 510f018d9bf4dbefae7697490a143c41ca89ddab..ac5988fdf9d2529de3225f5613b495c7486f6678 100644 (file)
@@ -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;
index 9894e626c5f9e58d43db478b7983b01806284a6f..a826ad75ec513aa803b600924d8e0999e54cfec8 100644 (file)
@@ -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);