svn commit: samba r20694 - in branches: SAMBA_3_0/source/lib
SAMBA_3_0_24/source/lib
jra at samba.org
jra at samba.org
Fri Jan 12 02:48:37 GMT 2007
Author: jra
Date: 2007-01-12 02:48:37 +0000 (Fri, 12 Jan 2007)
New Revision: 20694
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20694
Log:
To get this right we need to do signed 64-bit
comparisons here, not unsigned as we're eventually
casting into what it normall a signed 32 bit
value. Guenther please check (but I think I'm right here).
Jeremy.
Modified:
branches/SAMBA_3_0/source/lib/time.c
branches/SAMBA_3_0_24/source/lib/time.c
Changeset:
Modified: branches/SAMBA_3_0/source/lib/time.c
===================================================================
--- branches/SAMBA_3_0/source/lib/time.c 2007-01-12 02:33:09 UTC (rev 20693)
+++ branches/SAMBA_3_0/source/lib/time.c 2007-01-12 02:48:37 UTC (rev 20694)
@@ -1085,16 +1085,16 @@
/* Large integer version. */
struct timespec nt_time_to_unix_timespec(NTTIME *nt)
{
- uint64 d;
+ int64 d;
struct timespec ret;
- if (*nt == 0 || *nt == (uint64)-1) {
+ if (*nt == 0 || *nt == (int64)-1) {
ret.tv_sec = 0;
ret.tv_nsec = 0;
return ret;
}
- d = *nt;
+ d = (int64)*nt;
/* d is now in 100ns units, since jan 1st 1601".
Save off the ns fraction. */
@@ -1106,20 +1106,20 @@
/* Now adjust by 369 years to make the secs since 1970 */
d -= TIME_FIXUP_CONSTANT_INT;
- if (((time_t)d) <= TIME_T_MIN) {
+ if (d <= (int64)TIME_T_MIN) {
ret.tv_sec = TIME_T_MIN;
ret.tv_nsec = 0;
return ret;
}
- if (d >= (uint64)TIME_T_MAX) {
+ if (d >= (int64)TIME_T_MAX) {
ret.tv_sec = TIME_T_MAX;
ret.tv_nsec = 0;
return ret;
}
ret.tv_sec = (time_t)d;
- return ret;
+ return ret;
}
/****************************************************************************
Check if two NTTIMEs are the same.
@@ -1238,7 +1238,7 @@
This is an absolute version of the one above.
By absolute I mean, it doesn't adjust from 1/1/1970 to 1/1/1601
- If the nttime_t was 5 seconds, the NTTIME is 5 seconds. JFM
+ If the time_t was 5 seconds, the NTTIME is 5 seconds. JFM
****************************************************************************/
void unix_to_nt_time_abs(NTTIME *nt, time_t t)
Modified: branches/SAMBA_3_0_24/source/lib/time.c
===================================================================
--- branches/SAMBA_3_0_24/source/lib/time.c 2007-01-12 02:33:09 UTC (rev 20693)
+++ branches/SAMBA_3_0_24/source/lib/time.c 2007-01-12 02:48:37 UTC (rev 20694)
@@ -1085,16 +1085,16 @@
/* Large integer version. */
struct timespec nt_time_to_unix_timespec(NTTIME *nt)
{
- uint64 d;
+ int64 d;
struct timespec ret;
- if (*nt == 0 || *nt == (uint64)-1) {
+ if (*nt == 0 || *nt == (int64)-1) {
ret.tv_sec = 0;
ret.tv_nsec = 0;
return ret;
}
- d = *nt;
+ d = (int64)*nt;
/* d is now in 100ns units, since jan 1st 1601".
Save off the ns fraction. */
@@ -1106,20 +1106,20 @@
/* Now adjust by 369 years to make the secs since 1970 */
d -= TIME_FIXUP_CONSTANT_INT;
- if (((time_t)d) <= TIME_T_MIN) {
+ if (d <= (int64)TIME_T_MIN) {
ret.tv_sec = TIME_T_MIN;
ret.tv_nsec = 0;
return ret;
}
- if (d >= (uint64)TIME_T_MAX) {
+ if (d >= (int64)TIME_T_MAX) {
ret.tv_sec = TIME_T_MAX;
ret.tv_nsec = 0;
return ret;
}
ret.tv_sec = (time_t)d;
- return ret;
+ return ret;
}
/****************************************************************************
Check if two NTTIMEs are the same.
@@ -1238,7 +1238,7 @@
This is an absolute version of the one above.
By absolute I mean, it doesn't adjust from 1/1/1970 to 1/1/1601
- If the nttime_t was 5 seconds, the NTTIME is 5 seconds. JFM
+ If the time_t was 5 seconds, the NTTIME is 5 seconds. JFM
****************************************************************************/
void unix_to_nt_time_abs(NTTIME *nt, time_t t)
More information about the samba-cvs
mailing list