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.
This commit is contained in:
@@ -459,6 +459,19 @@ int dual_timestamp_deserialize(const char *value, dual_timestamp *t) {
|
|||||||
return 0;
|
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) {
|
int parse_timestamp(const char *t, usec_t *usec) {
|
||||||
static const struct {
|
static const struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|||||||
@@ -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);
|
void dual_timestamp_serialize(FILE *f, const char *name, dual_timestamp *t);
|
||||||
int dual_timestamp_deserialize(const char *value, 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);
|
int parse_timestamp(const char *t, usec_t *usec);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user