summaryrefslogtreecommitdiff
path: root/src/libstddjb/touch.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-07-16 11:19:51 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-07-16 11:19:51 +0000
commit16013c560e189bd0c4fb58e038c0f449542dba7a (patch)
treeb9d2777f2e5a8108b684839f04310ffd0de82179 /src/libstddjb/touch.c
parent538fd727337959b1d7b8449a578a31fd9a9c62b4 (diff)
downloadskalibs-16013c560e189bd0c4fb58e038c0f449542dba7a.tar.xz
Add egidingroups sysdeps, change fd_close() to void and saving errno, propagate changes
Diffstat (limited to 'src/libstddjb/touch.c')
-rw-r--r--src/libstddjb/touch.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libstddjb/touch.c b/src/libstddjb/touch.c
index d270251..f71a983 100644
--- a/src/libstddjb/touch.c
+++ b/src/libstddjb/touch.c
@@ -11,11 +11,12 @@
int touch (char const *file)
{
+ int r ;
int fd = open_create(file) ;
if (fd < 0) return 0 ;
- if (futimens(fd, 0) < 0) return 0 ;
+ r = futimens(fd, 0) >= 0 ;
fd_close(fd) ;
- return 1 ;
+ return r ;
}
#else
@@ -27,9 +28,10 @@ int touch (char const *file)
int touch (char const *file)
{
+ int r ;
int fd = open_create(file) ;
if (fd < 0) return 0 ;
- if (futimes(fd, 0) < 0) return 0 ;
+ r = futimes(fd, 0) >= 0 ;
fd_close(fd) ;
return 1 ;
}
@@ -44,8 +46,7 @@ int touch (char const *file)
int fd = open_create(file) ;
if (fd < 0) return 0 ;
fd_close(fd) ;
- if (utimes(file, 0) < 0) return 0 ;
- return 1 ;
+ return utimes(file, 0) >= 0 ;
}
#endif