From 535c541e60aef81fbf16038c7dc7581a07d1b758 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Tue, 5 Jun 2012 21:02:11 -0300 Subject: [PATCH] libkmod-util: split function for usec conversion --- libkmod/libkmod-util.c | 9 +++++++-- libkmod/libkmod-util.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libkmod/libkmod-util.c b/libkmod/libkmod-util.c index 0fa90f9..b5a2588 100644 --- a/libkmod/libkmod-util.c +++ b/libkmod/libkmod-util.c @@ -310,11 +310,16 @@ char *path_make_absolute_cwd(const char *p) #define USEC_PER_SEC 1000000ULL #define NSEC_PER_USEC 1000ULL +unsigned long long ts_usec(const struct timespec *ts) +{ + return (unsigned long long) ts->tv_sec * USEC_PER_SEC + + (unsigned long long) ts->tv_nsec / NSEC_PER_USEC; +} + unsigned long long stat_mstamp(const struct stat *st) { #ifdef HAVE_STRUCT_STAT_ST_MTIM - return (unsigned long long) st->st_mtim.tv_sec * USEC_PER_SEC + - (unsigned long long) st->st_mtim.tv_nsec / NSEC_PER_USEC; + return ts_usec(&st->st_mtim); #else return (unsigned long long) st->st_mtime; #endif diff --git a/libkmod/libkmod-util.h b/libkmod/libkmod-util.h index 251987a..7130ae0 100644 --- a/libkmod/libkmod-util.h +++ b/libkmod/libkmod-util.h @@ -25,6 +25,7 @@ int alias_normalize(const char *alias, char buf[PATH_MAX], size_t *len) _must_ch char *modname_normalize(const char *modname, char buf[PATH_MAX], size_t *len) __attribute__((nonnull(1, 2))); char *path_to_modname(const char *path, char buf[PATH_MAX], size_t *len) __attribute__((nonnull(2))); unsigned long long stat_mstamp(const struct stat *st); +unsigned long long ts_usec(const struct timespec *ts); #define get_unaligned(ptr) \ ({ \ -- 2.7.4