src/progname.c


Log

Author Commit Date CI Message
Guillem Jover 8f998d1d 2023-04-22T20:23:08 progname: Include <procinfo.h> if available We need this header on AIX. Missed transplanting the code from the AIX porting system. Fixes: commit 9fa06763a1afe0946a3a20e5bbdba72885cbade5
Guillem Jover 9fa06763 2023-04-18T00:44:49 Port getprogname() to AIX Get the program name from the COMM field from the proc filesystem. We could use instead the information from the psinfo binary file under /proc, but that seems to have a shorter string limit.
Guillem Jover 92337b15 2023-04-17T23:59:03 Make getprogname() porting mandatory Although the function is documented as possibly returning NULL if it cannot find a known source of information, we should still at least attempt to port it to any supported system, and otherwise explicitly mark it as not implementable for such systems if that was to be the case.
Aaron Dierking 68f980c9 2018-07-05T14:47:47 Provide a default progname on Windows [guillem@hadrons.org: - Remove .exe extension from default program name. - Call reallocarray() once by switching to a «do {} while» loop. - Minor coding style fixes. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 5ba8c5ba 2018-03-05T00:37:47 progname: Port to Windows Define the directory separator depending on the system targetted. Reported-by: Progyan Bhattacharya <progyanb@acm.org>
Guillem Jover ed84bec5 2016-02-10T10:38:51 Switch URLs from http or git to https
Guillem Jover 75299746 2012-01-03T08:58:01 Base getprogname() on program_invocation_short_name presence instead of glibc
Guillem Jover 87232260 2011-07-06T16:29:26 Use system __progname variable in progname module if available
Guillem Jover b5cc17d6 2011-07-05T23:27:31 Use getexecname() if available for getprogname() This function is present on Solaris.
Guillem Jover 520682e5 2011-02-23T14:04:57 Add support for transparent compilation This means that software being ported should not need to be modified in the usual case, as the libbsd headers will take over the standard namespace and fill the missing gaps, and include the system headers. To use this the new libbsd-transparent.pc file can be used through pkg-config, which should end up doing the right thing.
Guillem Jover 1497d347 2011-02-25T13:52:59 Initialize __progname to program_invocation_short_name As we do not have cooperation from the crt0 code to set __progname, we have to set it ourselves from getprogname() in case it's NULL. On GNU systems we can use program_invocation_short_name which is actually set on crt0.
Guillem Jover 11f2c32d 2010-01-30T22:00:18 Fix setprogname to strip leading paths from progname
Guillem Jover 30c79408 2010-01-21T14:34:55 Make setprogname and getprogname arguments and return value const This is more correct as the strings are not going to be changed, and it matches the function signatures on other BSDs. Suggested-by: Aurelien Jarno <aurel32@debian.org>
Guillem Jover abe0a4a7 2010-01-10T11:02:13 Reformat code to KNF
Guillem Jover 1f0b016e 2009-05-20T04:20:21 Use UTF-8 copyright symbols for non-imported files
Robert Millan 532aec99 2008-03-16T16:49:41 Relicense err.c and progname.c to avoid trouble with 4-clause BSD code
Robert Millan 326d210f 2006-03-30T13:53:34 Revert 1d87476250217a87319df48a8f473415c0515106
Robert Millan 1d874762 2006-03-30T11:14:56 Duplicate setprogname argument For some reason, accessing the argv vector directly may cause SIGSEV.
Robert Millan a84fcb45 2006-03-18T12:53:39 Fix syntax error
Robert Millan 31461c56 2006-03-18T09:19:50 Initialize __progname as NULL
Robert Millan 5bd83402 2006-03-17T19:55:21 Add getprogname and setprogname