diff options
author | Tobias Stoeckmann <tobias@cvs.openbsd.org> | 2008-06-19 19:16:05 +0000 |
---|---|---|
committer | Tobias Stoeckmann <tobias@cvs.openbsd.org> | 2008-06-19 19:16:05 +0000 |
commit | 84884b6837f3e5cffd83dd67be1573702652e550 (patch) | |
tree | 98a501c9d24bb2afb4fc74d1838bdb97ebd034f2 /usr.bin/chpass | |
parent | 8b21e9058c94f20aab2dd1fea717d9ce468b8efd (diff) |
Moved the unset of TZ environment variable out of atot into main, removing
an unused static var and test out of atot.
With input by jsing and millert, ok millert
Diffstat (limited to 'usr.bin/chpass')
-rw-r--r-- | usr.bin/chpass/chpass.c | 12 | ||||
-rw-r--r-- | usr.bin/chpass/util.c | 10 |
2 files changed, 11 insertions, 11 deletions
diff --git a/usr.bin/chpass/chpass.c b/usr.bin/chpass/chpass.c index d77736dedde..f849ff892c3 100644 --- a/usr.bin/chpass/chpass.c +++ b/usr.bin/chpass/chpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: chpass.c,v 1.34 2007/03/27 07:22:33 jmc Exp $ */ +/* $OpenBSD: chpass.c,v 1.35 2008/06/19 19:16:04 tobias Exp $ */ /* $NetBSD: chpass.c,v 1.8 1996/05/15 21:50:43 jtc Exp $ */ /*- @@ -40,7 +40,7 @@ static char copyright[] = #if 0 static char sccsid[] = "@(#)chpass.c 8.4 (Berkeley) 4/2/94"; #else -static char rcsid[] = "$OpenBSD: chpass.c,v 1.34 2007/03/27 07:22:33 jmc Exp $"; +static char rcsid[] = "$OpenBSD: chpass.c,v 1.35 2008/06/19 19:16:04 tobias Exp $"; #endif #endif /* not lint */ @@ -82,12 +82,18 @@ main(int argc, char *argv[]) { struct passwd *pw = NULL, *opw = NULL, lpw; int i, ch, pfd, tfd, dfd; - char *arg = NULL; + char *tz, *arg = NULL; sigset_t fullset; #ifdef YP use_yp = _yp_check(NULL); #endif + /* We need to use the system timezone for date conversions. */ + if ((tz = getenv("TZ")) != NULL) { + unsetenv("TZ"); + tzset(); + setenv("TZ", tz, 1); + } op = EDITENTRY; while ((ch = getopt(argc, argv, "a:s:ly")) != -1) diff --git a/usr.bin/chpass/util.c b/usr.bin/chpass/util.c index 3ab8c7c3a7a..6328a3fb8df 100644 --- a/usr.bin/chpass/util.c +++ b/usr.bin/chpass/util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: util.c,v 1.7 2003/07/01 01:01:28 avsm Exp $ */ +/* $OpenBSD: util.c,v 1.8 2008/06/19 19:16:04 tobias Exp $ */ /* $NetBSD: util.c,v 1.4 1995/03/26 04:55:35 glass Exp $ */ /*- @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)util.c 8.4 (Berkeley) 4/2/94"; #else -static char rcsid[] = "$OpenBSD: util.c,v 1.7 2003/07/01 01:01:28 avsm Exp $"; +static char rcsid[] = "$OpenBSD: util.c,v 1.8 2008/06/19 19:16:04 tobias Exp $"; #endif #endif /* not lint */ @@ -67,7 +67,6 @@ ttoa(char *buf, size_t len, time_t tval) int atot(char *p, time_t *store) { - static struct tm *lt; struct tm tm; time_t tval; char *t; @@ -76,11 +75,6 @@ atot(char *p, time_t *store) *store = 0; return (0); } - if (!lt) { - unsetenv("TZ"); - (void)time(&tval); - lt = localtime(&tval); - } (void) memset(&tm, 0, sizeof(tm)); for (t = p; (t = strchr(t, ',')) != NULL; t++) *t = ' '; |