1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

s3/net: don't use external "date" to make "net time set" more portable

the "date" syntax is different for example on *BSD

Autobuild-User: Björn Jacke <bj@sernet.de>
Autobuild-Date: Tue Dec 14 15:31:03 CET 2010 on sn-devel-104
This commit is contained in:
Björn Jacke 2010-12-14 13:28:49 +01:00 committed by Bjoern Jacke
parent a55f5e7080
commit 4fd57cbe1b

View File

@ -103,26 +103,22 @@ int net_time_usage(struct net_context *c, int argc, const char **argv)
return -1;
}
/* try to set the system clock using /bin/date */
/* try to set the system clock */
static int net_time_set(struct net_context *c, int argc, const char **argv)
{
time_t t = nettime(c, NULL);
char *cmd;
struct timeval tv;
int result;
if (t == 0) return -1;
tv.tv_sec = nettime(c, NULL);
tv.tv_usec=0;
if (tv.tv_sec == 0) return -1;
result = settimeofday(&tv,0);
/* yes, I know this is cheesy. Use "net time system" if you want to
roll your own. I'm putting this in as it works on a large number
of systems and the user has a choice in whether its used or not */
if (asprintf(&cmd, "/bin/date %s", systime(t)) == -1) {
return -1;
}
result = system(cmd);
if (result)
d_fprintf(stderr, _("%s failed. Error was (%s)\n"),
cmd, strerror(errno));
free(cmd);
d_fprintf(stderr, _("setting system clock failed. Error was (%s)\n"),
strerror(errno));
return result;
}