GETPROGNAME(3) | Library Functions Manual | GETPROGNAME(3) |
getprogname
, setprogname
—
#include <stdlib.h>
const char *
getprogname
(void);
void
setprogname
(const
char *name);
getprogname
() returns the name of the
current program. This function is typically useful when generating error
messages or other diagnostic output. If the program name has not been set,
getprogname
() will return
NULL
.
setprogname
() sets the name of the current
program to be the last pathname component of the name
argument. It should be invoked at the start of the program, using the
argv[0] passed into the program's
main
() function. A pointer into the string pointed
to by the name argument is kept as the program name.
Therefore, the string pointed to by name should not be
modified during the rest of the program's operation.
A program's name can only be set once, and in
NetBSD that is actually done by program start-up
code that is run before main
() is called. Therefore,
in NetBSD, calling
setprogname
() explicitly has no effect. However,
portable programs that wish to use getprogname
()
should call setprogname
() from
main
(). On operating systems where
getprogname
() and
setprogname
() are implemented via a portability
library, this call is needed to make the name available.
getprogname
and setprogname
function calls appeared in NetBSD 1.6.
getprogname
() is supplied by the
invoking process and should not be trusted by setuid or setgid programs.
May 21, 2011 | NetBSD 9.0 |