1 /* utime -- Change access and modification times of file. Posix version. 2 Copyright (C) 1991-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #include <sysdep.h> 20 #include <errno.h> 21 #include <utime.h> 22 #include <time.h> 23 #include <sys/types.h> 24 #include <sys/time.h> 25 26 27 /* Set the access and modification times of FILE to those given in TIMES. 28 If TIMES is NULL, set them to the current time. */ 29 int utime(const char * file,const struct utimbuf * times)30utime (const char *file, const struct utimbuf *times) 31 { 32 struct timeval timevals[2]; 33 struct timeval *tvp; 34 35 if (times != NULL) 36 { 37 timevals[0].tv_sec = (time_t) times->actime; 38 timevals[0].tv_usec = 0L; 39 timevals[1].tv_sec = (time_t) times->modtime; 40 timevals[1].tv_usec = 0L; 41 tvp = timevals; 42 } 43 else 44 tvp = NULL; 45 46 return __utimes (file, tvp); 47 } 48 libc_hidden_def (utime) 49