tzcode: Resurrect tzsetwall(3) with a deprecation warning.

This function has been around since 4.4BSD but was dropped upstream in 2020.  This went unnoticed when tzcode was updated.  Bring it back, but prepare for removing it before 14.0 is released.

PR:		269445
MFC after:	3 days
Reported by:	val@packett.cool
Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D38445
This commit is contained in:
Dag-Erling Smørgrav 2023-02-09 19:35:34 +01:00
parent c0e4090e3d
commit 71e0c8906e
2 changed files with 28 additions and 7 deletions

View File

@ -1517,9 +1517,8 @@ zoneinit(struct state *sp, char const *name)
}
static void
tzset_unlocked(void)
tzset_unlocked_name(char const *name)
{
char const *name = getenv("TZ");
struct state *sp = lclptr;
int lcl = name ? strlen(name) < sizeof lcl_TZname : -1;
if (lcl < 0
@ -1541,6 +1540,12 @@ tzset_unlocked(void)
lcl_is_set = lcl;
}
static void
tzset_unlocked(void)
{
tzset_unlocked_name(getenv("TZ"));
}
void
tzset(void)
{
@ -1550,6 +1555,18 @@ tzset(void)
unlock();
}
void
freebsd13_tzsetwall(void)
{
if (lock() != 0)
return;
tzset_unlocked_name(NULL);
unlock();
}
__sym_compat(tzsetwall, freebsd13_tzsetwall, FBSD_1.0);
__warn_references(tzsetwall,
"warning: tzsetwall() is deprecated, use tzset() instead.");
static void
gmtcheck(void)
{

View File

@ -31,7 +31,7 @@
.\" @(#)tzset.3 8.2 (Berkeley) 11/17/93
.\" $FreeBSD$
.\"
.Dd November 17, 1993
.Dd February 8, 2023
.Dt TZSET 3
.Os
.Sh NAME
@ -102,10 +102,14 @@ is used.
.Pp
The
.Fn tzsetwall
function
sets things up so that
.Xr localtime 3
returns the best available approximation of local wall clock time.
function is equivalent to calling
.Fn tzset
with the
.Ev TZ
environment variable unset.
It is deprecated and may not be available in
.Fx 14.0
and later.
.Sh SPECIFICATION FORMAT
When
.Ev TZ