diff options
author | Darren Tucker <dtucker@dtucker.net> | 2019-03-28 09:26:14 +1100 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2019-03-28 09:26:14 +1100 |
commit | f5abb05f8c7358dacdcb866fe2813f6d8efd5830 (patch) | |
tree | 317977c459ec648e9e21ce53eedda5305f16dadf | |
parent | 786cd4c1837fdc3fe7b4befe54a3f37db7df8715 (diff) |
Only use O_NOFOLLOW in utimensat if defined.
Fixes build on systems that don't have it (Solaris <=9) Found by
Tom G. Christensen.
-rw-r--r-- | openbsd-compat/bsd-misc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c index d3a41df50..3c85a12a6 100644 --- a/openbsd-compat/bsd-misc.c +++ b/openbsd-compat/bsd-misc.c | |||
@@ -143,8 +143,10 @@ utimensat(int fd, const char *path, const struct timespec times[2], | |||
143 | # ifndef HAVE_FUTIMES | 143 | # ifndef HAVE_FUTIMES |
144 | return utimes(path, tv); | 144 | return utimes(path, tv); |
145 | # else | 145 | # else |
146 | # ifdef O_NOFOLLOW | ||
146 | if (flag & AT_SYMLINK_NOFOLLOW) | 147 | if (flag & AT_SYMLINK_NOFOLLOW) |
147 | oflags |= O_NOFOLLOW; | 148 | oflags |= O_NOFOLLOW; |
149 | # endif /* O_NOFOLLOW */ | ||
148 | if ((fd = open(path, oflags)) == -1) | 150 | if ((fd = open(path, oflags)) == -1) |
149 | return -1; | 151 | return -1; |
150 | ret = futimes(fd, tv); | 152 | ret = futimes(fd, tv); |