[SCM] Samba Shared Repository - branch v3-5-test updated

Karolin Seeger kseeger at samba.org
Wed Nov 24 10:03:03 MST 2010


The branch, v3-5-test has been updated
       via  ff6c598 Fix bug #7785 - atime limit.
      from  55754e2 s3-docs: Update 3.2 features. (cherry picked from commit aa54713615c5d0367528733ff2c3a5650eed96f7)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit ff6c598f7f18e6ba945a3fe082b01255a0a42325
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 23 11:16:31 2010 -0800

    Fix bug #7785 - atime limit.
    
    On a 64-bit time_t system make MAX_TIME_T the max value that
    can be represented in a struct tm. This allows applications to
    set times in the future beyond the 32-bit time_t limit (2037).
    
    This is only in source3/configure.in, needs adding to the waf
    configure/build system (but I'll need help with that).
    
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source3/configure.in |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/configure.in b/source3/configure.in
index 3dc9da7..3bd5c2b 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -2039,6 +2039,31 @@ if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then
     AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type])
 fi
 
+AC_CACHE_CHECK([for TIME_T_MAX],samba_cv_TIME_T_MAX,[
+AC_TRY_RUN([#include <time.h>
+main() {
+	struct tm *tm;
+	if (sizeof(time_t) == 8) {
+		time_t max_time = 0x7fffffffffffffffll;
+		tm = gmtime(&max_time);
+		/* This should fail with 32-bit tm_year. */
+		if (tm == NULL) {
+			/* Max time_t that works with 32-bit int tm_year in struct tm. */
+			max_time = 67768036191676799ll;
+			tm = gmtime(&max_time);
+			if (tm) {
+				exit(0);
+			}
+		}
+	}
+	exit(1);
+}],
+samba_cv_TIME_T_MAX=yes,samba_cv_TIME_T_MAX=no,samba_cv_TIME_T_MAX=cross)])
+if test x"$samba_cv_TIME_T_MAX" = x"yes"; then
+    AC_DEFINE(TIME_T_MAX,67768036191676799ll,[The maximum value of the 'time_t' type])
+fi
+
+
 AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
 AC_TRY_RUN([#include <stdio.h>
 #include <sys/stat.h>


-- 
Samba Shared Repository


More information about the samba-cvs mailing list