From 74e57f6fef0a62090390c1bcb3a2cbd944398cfa Mon Sep 17 00:00:00 2001 From: Thomas Bushnell Date: Sun, 31 Jan 1999 23:48:28 +0000 Subject: Sun Jan 31 18:33:55 1999 Thomas Bushnell, BSG * netfs.c (netfs_attempt_utimes): Implement new possibility that ATIME or MTIME might be null. --- ftpfs/netfs.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'ftpfs/netfs.c') diff --git a/ftpfs/netfs.c b/ftpfs/netfs.c index 02cea700..fb9a2ef6 100644 --- a/ftpfs/netfs.c +++ b/ftpfs/netfs.c @@ -1,6 +1,6 @@ /* ftpfs interface to libnetfs - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. Written by Miles Bader This file is part of the GNU Hurd. @@ -65,17 +65,30 @@ netfs_attempt_utimes (struct iouser *cred, struct node *node, struct timespec *atime, struct timespec *mtime) { error_t err = ftpfs_refresh_node (node); + int flags = TOUCH_CTIME; if (! err) err = fshelp_isowner (&node->nn_stat, cred); if (! err) { - node->nn_stat.st_mtime = mtime->tv_sec; - node->nn_stat.st_mtime_usec = mtime->tv_nsec / 1000; - node->nn_stat.st_atime = atime->tv_sec; - node->nn_stat.st_atime_usec = atime->tv_nsec / 1000; - fshelp_touch (&node->nn_stat, TOUCH_CTIME, ftpfs_maptime); + if (atime) + { + node->nn_stat.st_atime = atime->tv_sec; + node->nn_stat.st_atime_usec = atime->tv_nsec / 1000; + } + else + flags |= TOUCH_ATIME; + + if (mtime) + { + node->nn_stat.st_mtime = mtime->tv_sec; + node->nn_stat.st_mtime_usec = mtime->tv_nsec / 1000; + } + else + flags |= TOUCH_MTIME; + + fshelp_touch (&node->nn_stat, flags, ftpfs_maptime); } return err; -- cgit v1.2.3