summaryrefslogtreecommitdiff
path: root/source3/lib/replace/system
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-05-07 13:10:31 +0200
committerStefan Metzmacher <metze@samba.org>2008-05-16 08:51:46 +0200
commitdb4ab7aae3b44b22b70013f13da370b74d429553 (patch)
tree54d56e9d255c58ac444788546d0afeda0e71274c /source3/lib/replace/system
parent70883ec3032b4c9f6c4f5f39dd6d43b9e2c79d48 (diff)
downloadsamba-db4ab7aae3b44b22b70013f13da370b74d429553.tar.gz
samba-db4ab7aae3b44b22b70013f13da370b74d429553.tar.bz2
samba-db4ab7aae3b44b22b70013f13da370b74d429553.zip
libreplace: always provide utime() and utimes()
I'd like to also provide futimes(), but it seems that some systems doesn't support a it at kernel level. If someone knows how to write a portable replacement for futimes() please tell me... metze (cherry picked from commit a9604fe4a323dccb537cf02ea7594437b4995803) (This used to be commit 8a241cf150fba787c82cbcb03730083ced442fbb)
Diffstat (limited to 'source3/lib/replace/system')
-rw-r--r--source3/lib/replace/system/config.m42
-rw-r--r--source3/lib/replace/system/time.h15
2 files changed, 16 insertions, 1 deletions
diff --git a/source3/lib/replace/system/config.m4 b/source3/lib/replace/system/config.m4
index ae26bb5590..5c9b53d5c5 100644
--- a/source3/lib/replace/system/config.m4
+++ b/source3/lib/replace/system/config.m4
@@ -9,7 +9,7 @@ AC_CHECK_HEADERS(sys/select.h)
# time
AC_CHECK_HEADERS(sys/time.h utime.h)
AC_HEADER_TIME
-AC_CHECK_FUNCS(utime utimes futimes)
+AC_CHECK_FUNCS(utime utimes)
# wait
AC_HEADER_SYS_WAIT
diff --git a/source3/lib/replace/system/time.h b/source3/lib/replace/system/time.h
index 036812ab8f..4abf295d1a 100644
--- a/source3/lib/replace/system/time.h
+++ b/source3/lib/replace/system/time.h
@@ -39,6 +39,11 @@
#ifdef HAVE_UTIME_H
#include <utime.h>
+#else
+struct utimbuf {
+ time_t actime; /* access time */
+ time_t modtime; /* modification time */
+};
#endif
#ifndef HAVE_MKTIME
@@ -51,4 +56,14 @@ time_t rep_mktime(struct tm *t);
time_t rep_timegm(struct tm *tm);
#endif
+#ifndef HAVE_UTIME
+/* define is in "replace.h" */
+int rep_utime(const char *filename, const struct utimbuf *buf);
+#endif
+
+#ifndef HAVE_UTIMES
+/* define is in "replace.h" */
+int rep_utimes(const char *filename, const struct timeval tv[2]);
+#endif
+
#endif