From f34b08c96d323403bb5f186c90181b9b21caf935 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Mon, 25 Apr 2016 00:48:56 +0200 Subject: [PATCH hurd 1/5] libtrivfs: fix error handling * libtrivfs/times.c (trivfs_set_{a,m}time): Fix error handling. --- libtrivfs/times.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/libtrivfs/times.c b/libtrivfs/times.c index 5f08cb1..42e668d 100644 --- a/libtrivfs/times.c +++ b/libtrivfs/times.c @@ -20,29 +20,37 @@ error_t trivfs_set_atime (struct trivfs_control *cntl) { + error_t err; struct stat st; time_value_t atime; time_value_t mtime; - - io_stat (cntl->underlying, &st); + + err = io_stat (cntl->underlying, &st); + if (err) + return err; + mtime.seconds = st.st_mtim.tv_sec; mtime.microseconds = st.st_mtim.tv_nsec / 1000; atime.microseconds = -1; - file_utimes (cntl->underlying, atime, mtime); - return 0; + + return file_utimes (cntl->underlying, atime, mtime); } error_t trivfs_set_mtime (struct trivfs_control *cntl) { + error_t err; struct stat st; time_value_t atime; time_value_t mtime; - io_stat (cntl->underlying, &st); + err = io_stat (cntl->underlying, &st); + if (err) + return err; + atime.seconds = st.st_atim.tv_sec; atime.microseconds = st.st_atim.tv_nsec / 1000; mtime.microseconds = -1; - file_utimes (cntl->underlying, atime, mtime); - return 0; + + return file_utimes (cntl->underlying, atime, mtime); } -- 2.1.4