mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-10-18 11:39:03 +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:
33
COPYING
33
COPYING
@@ -37,39 +37,6 @@ License: BSD-4-clause-Niels-Provos
|
|||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
(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, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
Files:
|
|
||||||
man/getprogname.3bsd
|
|
||||||
Copyright:
|
|
||||||
Copyright © 2001 Christopher G. Demetriou
|
|
||||||
All rights reserved.
|
|
||||||
License: BSD-4-clause-Christopher-G-Demetriou
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
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
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
.
|
|
||||||
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.
|
|
||||||
|
|
||||||
Files:
|
Files:
|
||||||
include/bsd/err.h
|
include/bsd/err.h
|
||||||
include/bsd/stdlib.h
|
include/bsd/stdlib.h
|
||||||
|
@@ -1,6 +1,4 @@
|
|||||||
.\"
|
.\" Copyright (c) 2022 Guillem Jover <guillem@hadrons.org>
|
||||||
.\" Copyright (c) 2001 Christopher G. Demetriou
|
|
||||||
.\" All rights reserved.
|
|
||||||
.\"
|
.\"
|
||||||
.\" Redistribution and use in source and binary forms, with or without
|
.\" Redistribution and use in source and binary forms, with or without
|
||||||
.\" modification, are permitted provided that the following conditions
|
.\" modification, are permitted provided that the following conditions
|
||||||
@@ -10,34 +8,27 @@
|
|||||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||||
.\" notice, this list of conditions and the following disclaimer in the
|
.\" notice, this list of conditions and the following disclaimer in the
|
||||||
.\" documentation and/or other materials provided with the distribution.
|
.\" documentation and/or other materials provided with the distribution.
|
||||||
.\" 3. All advertising materials mentioning features or use of this software
|
.\" 3. The name of the author may not be used to endorse or promote products
|
||||||
.\" 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
|
|
||||||
.\" derived from this software without specific prior written permission.
|
.\" 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
|
.Dd August 03, 2022
|
||||||
.\" 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
|
|
||||||
.Dt getprogname 3bsd
|
.Dt getprogname 3bsd
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm getprogname ,
|
.Nm getprogname ,
|
||||||
.Nm setprogname
|
.Nm setprogname
|
||||||
.Nd get or set the program name
|
.Nd get and set program name
|
||||||
.Sh LIBRARY
|
.Sh LIBRARY
|
||||||
.ds str-Lb-libbsd Utility functions from BSD systems (libbsd, \-lbsd)
|
.ds str-Lb-libbsd Utility functions from BSD systems (libbsd, \-lbsd)
|
||||||
.ds doc-str-Lb-libbsd \*[str-Lb-libbsd]
|
.ds doc-str-Lb-libbsd \*[str-Lb-libbsd]
|
||||||
@@ -54,46 +45,39 @@ for include usage.)
|
|||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
The
|
The
|
||||||
.Fn getprogname
|
.Fn getprogname
|
||||||
and
|
returns a string with the current program name,
|
||||||
.Fn setprogname
|
excluding any directory component.
|
||||||
functions manipulate the name of the current program.
|
The function will return
|
||||||
They are used by error-reporting routines to produce
|
.Dv NULL
|
||||||
consistent output.
|
if it was unable to get the program name from any known source.
|
||||||
.Pp
|
|
||||||
The
|
|
||||||
.Fn getprogname
|
|
||||||
function returns the name of the program.
|
|
||||||
If the name has not been set yet, it will return
|
|
||||||
.Dv NULL .
|
|
||||||
.Pp
|
.Pp
|
||||||
The
|
The
|
||||||
.Fn setprogname
|
.Fn setprogname
|
||||||
function sets the name of the program to be the last component of the
|
function sets the current program name,
|
||||||
.Fa progname
|
stripping any directory component prefix.
|
||||||
argument.
|
The function will keep a reference to the passed string pointer,
|
||||||
Since a pointer to the given string is kept as the program name,
|
so it must not be freed or modified while these functions might
|
||||||
it should not be modified for the rest of the program's lifetime.
|
be called.
|
||||||
.Pp
|
.Pp
|
||||||
In
|
The implementations on most BSDs will try to initialize the program name
|
||||||
.Fx ,
|
at program startup time, and
|
||||||
the name of the program is set by the start-up code that is run before
|
.Nm libbsd
|
||||||
.Fn main ;
|
will try to infer it from various known sources depending on the
|
||||||
thus,
|
target system.
|
||||||
running
|
But it is not a portable assumption that the program name will be set
|
||||||
.Fn setprogname
|
without calling
|
||||||
is not necessary.
|
.Fn setprogname ,
|
||||||
Programs that desire maximum portability should still call it;
|
so portable programs should always call it after starting up.
|
||||||
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.
|
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr err 3 ,
|
.Xr setproctitle 3bsd .
|
||||||
.Xr setproctitle 3bsd
|
|
||||||
.Sh HISTORY
|
.Sh HISTORY
|
||||||
These functions first appeared in
|
The
|
||||||
|
.Fn setprogname
|
||||||
|
and
|
||||||
|
.Fn getprogname
|
||||||
|
functions first appeared in
|
||||||
.Nx 1.6 ,
|
.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