mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-10-17 19:25:57 +02:00
man: Rewrite gerprogname(3bsd) from scratch
This gets rid of one of the last man pages with a BSD-4-clause license.
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2001 Christopher G. Demetriou
|
||||
.\" All rights reserved.
|
||||
.\" Copyright (c) 2022 Guillem Jover <guillem@hadrons.org>
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
@@ -10,34 +8,27 @@
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed for the
|
||||
.\" NetBSD Project. See http://www.netbsd.org/ for
|
||||
.\" information about NetBSD.
|
||||
.\" 4. The name of the author may not be used to endorse or promote products
|
||||
.\" 3. The name of the author may not be used to endorse or promote products
|
||||
.\" derived from this software without specific prior written permission.
|
||||
.\" .
|
||||
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 1, 2001
|
||||
.Dd August 03, 2022
|
||||
.Dt getprogname 3bsd
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm getprogname ,
|
||||
.Nm setprogname
|
||||
.Nd get or set the program name
|
||||
.Nd get and set program name
|
||||
.Sh LIBRARY
|
||||
.ds str-Lb-libbsd Utility functions from BSD systems (libbsd, \-lbsd)
|
||||
.ds doc-str-Lb-libbsd \*[str-Lb-libbsd]
|
||||
@@ -54,46 +45,39 @@ for include usage.)
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Fn getprogname
|
||||
and
|
||||
.Fn setprogname
|
||||
functions manipulate the name of the current program.
|
||||
They are used by error-reporting routines to produce
|
||||
consistent output.
|
||||
.Pp
|
||||
The
|
||||
.Fn getprogname
|
||||
function returns the name of the program.
|
||||
If the name has not been set yet, it will return
|
||||
.Dv NULL .
|
||||
returns a string with the current program name,
|
||||
excluding any directory component.
|
||||
The function will return
|
||||
.Dv NULL
|
||||
if it was unable to get the program name from any known source.
|
||||
.Pp
|
||||
The
|
||||
.Fn setprogname
|
||||
function sets the name of the program to be the last component of the
|
||||
.Fa progname
|
||||
argument.
|
||||
Since a pointer to the given string is kept as the program name,
|
||||
it should not be modified for the rest of the program's lifetime.
|
||||
function sets the current program name,
|
||||
stripping any directory component prefix.
|
||||
The function will keep a reference to the passed string pointer,
|
||||
so it must not be freed or modified while these functions might
|
||||
be called.
|
||||
.Pp
|
||||
In
|
||||
.Fx ,
|
||||
the name of the program is set by the start-up code that is run before
|
||||
.Fn main ;
|
||||
thus,
|
||||
running
|
||||
.Fn setprogname
|
||||
is not necessary.
|
||||
Programs that desire maximum portability should still call it;
|
||||
on another operating system,
|
||||
these functions may be implemented in a portability library.
|
||||
Calling
|
||||
.Fn setprogname
|
||||
allows the aforementioned library to learn the program name without
|
||||
modifications to the start-up code.
|
||||
The implementations on most BSDs will try to initialize the program name
|
||||
at program startup time, and
|
||||
.Nm libbsd
|
||||
will try to infer it from various known sources depending on the
|
||||
target system.
|
||||
But it is not a portable assumption that the program name will be set
|
||||
without calling
|
||||
.Fn setprogname ,
|
||||
so portable programs should always call it after starting up.
|
||||
.Sh SEE ALSO
|
||||
.Xr err 3 ,
|
||||
.Xr setproctitle 3bsd
|
||||
.Xr setproctitle 3bsd .
|
||||
.Sh HISTORY
|
||||
These functions first appeared in
|
||||
The
|
||||
.Fn setprogname
|
||||
and
|
||||
.Fn getprogname
|
||||
functions first appeared in
|
||||
.Nx 1.6 ,
|
||||
and made their way into
|
||||
.Fx 4.4 .
|
||||
.Fx 4.4 ,
|
||||
.Dx 2.1
|
||||
and
|
||||
.Ox 5.4 .
|
||||
|
Reference in New Issue
Block a user