git.samba.org
/
nivanova
/
samba-autobuild
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
60a91a1
)
Fix from richard.kettlewell@kewill.com for leapyear bugs.
author
Jeremy Allison
<jra@samba.org>
Wed, 11 Nov 1998 20:03:19 +0000
(20:03 +0000)
committer
Jeremy Allison
<jra@samba.org>
Wed, 11 Nov 1998 20:03:19 +0000
(20:03 +0000)
Jeremy.
(This used to be commit
751856a09d4fa112ce2fedd963b42ae5f63c89c1
)
source3/lib/replace.c
patch
|
blob
|
history
diff --git
a/source3/lib/replace.c
b/source3/lib/replace.c
index 56f6b9c637982af9236fd035a4cdedddeadb9ca6..b0adb72fd24ea4b564e00430bc34d18bd1b87660 100644
(file)
--- a/
source3/lib/replace.c
+++ b/
source3/lib/replace.c
@@
-48,7
+48,9
@@
ftruncate for operating systems that don't have it
/*******************************************************************
a mktime() replacement for those who don't have it - contributed by
C.A. Lademann <cal@zls.com>
/*******************************************************************
a mktime() replacement for those who don't have it - contributed by
C.A. Lademann <cal@zls.com>
+Corrections by richard.kettlewell@kewill.com
********************************************************************/
********************************************************************/
+
#define MINUTE 60
#define HOUR 60*MINUTE
#define DAY 24*HOUR
#define MINUTE 60
#define HOUR 60*MINUTE
#define DAY 24*HOUR
@@
-57,14
+59,16
@@
C.A. Lademann <cal@zls.com>
{
struct tm *u;
time_t epoch = 0;
{
struct tm *u;
time_t epoch = 0;
+ int n;
int mon [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
y, m, i;
if(t->tm_year < 70)
return((time_t)-1);
int mon [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
y, m, i;
if(t->tm_year < 70)
return((time_t)-1);
+ n = t->tm_year + 1900 - 1;
epoch = (t->tm_year - 70) * YEAR +
epoch = (t->tm_year - 70) * YEAR +
- (
t->tm_year / 4 - 70 / 4 - t->tm_year / 100
) * DAY;
+ (
(n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)
) * DAY;
y = t->tm_year;
m = 0;
y = t->tm_year;
m = 0;