aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.de.marchi@gmail.com>2012-06-05 21:02:11 -0300
committerLucas De Marchi <lucas.demarchi@profusion.mobi>2012-06-06 01:08:56 -0300
commit535c541e60aef81fbf16038c7dc7581a07d1b758 (patch)
treecff04b3f393f5d495d192b420f6f5a6d9bb45387
parenta6976f8b1dd63aba127b02ac3d23ff89c4372f29 (diff)
downloadkmod-535c541e60aef81fbf16038c7dc7581a07d1b758.tar.gz
libkmod-util: split function for usec conversion
-rw-r--r--libkmod/libkmod-util.c9
-rw-r--r--libkmod/libkmod-util.h1
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) \
({ \