RE timegm on SOLARIS
Clive Elsum
Clive.Elsum at CSIRO.AU
Wed Nov 20 21:12:01 GMT 2002
Hi,
I have not had any feedback on the replacement module for timegm within
/lib/replace.c. This fix allows a correct Solaris build, without it Clock Skew
errors occur unless the machine is dropped back to GMT. Is there any chance of
this being implemented?
Thanks in advance
Clive
Original message attached
Delivered-To: samba-technical at lists.samba.org
From: Clive.Elsum at csiro.au
To: samba-technical at lists.samba.org
Cc: abartlet at samba.org, davecb at canada.sun.com
Subject: FIX to RE: Cannot get net ads join to work under Solaris 8
MIME-Version: 1.0
X-BeenThere: samba-technical at lists.samba.org
X-Mailman-Version: 2.0.13
List-Help: <mailto:samba-technical-request at lists.samba.org?subject=help>
List-Post: <mailto:samba-technical at lists.samba.org>
List-Subscribe: <http://lists.samba.org/mailman/listinfo/samba-technical>,
<mailto:samba-technical-request at lists.samba.org?subject=subscribe>
List-Id: Discussions on Samba internals. For general questions please subscribe
to the list samba at samba.org <samba-technical.lists.samba.org>
List-Unsubscribe: <http://lists.samba.org/mailman/listinfo/samba-technical>,
<mailto:samba-technical-request at lists.samba.org?subject=unsubscribe>
List-Archive: <http://lists.samba.org/pipermail/samba-technical/>
X-Original-Date: Sun, 17 Nov 2002 19:33:23 +1100
Date: Sun, 17 Nov 2002 19:33:23 +1100
Andrew,
Another suggestion which appears to work without a kludge is a very minor
mod to the code originally contributed by Roger Beeman <beeman at cisco.com>,
with the help of Mark Baushke <mdb at cisco.com> and the rest of the Gurus at
CISCO. Further improved by Roger with assistance from Edward J. Sabol based
on input by Jamie Zawinski.
Setting this as a timegm replacement within lib/replace.c overcomes the need
to reset TIMEZONE.
time_t timegm(struct tm *t)
{
time_t tl, tb;
struct tm *tg;
tl = mktime (t);
if (tl == -1)
{
t->tm_hour--;
tl = mktime (t);
if (tl == -1)
return -1; /* can't deal with output from strptime */
tl += 3600;
}
tg = gmtime (&tl);
tg->tm_isdst = 0;
tb = mktime (tg);
if (tb == -1)
{
tg->tm_hour--;
tb = mktime (tg);
if (tb == -1)
return -1; /* can't deal with output from gmtime */
tb += 3600;
}
return (tl - (tb - tl));
---------------------------------------------------------------------
Clive Elsum BAppSc, RHCE
Systems Engineer - Information Technology Group
CSIRO Atmospheric Research
PMB 1, Aspendale, Victoria, Australia 3195
Phone : (+61 3) 9239 4509
Fax: (+61 3) 9239 4444
E-mail Clive.Elsum at csiro.au
---------------------------------------------------------------------
More information about the samba-technical
mailing list