mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-01-09 03:08:38 +01:00
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.
This commit is contained in:
parent
741eb58763
commit
1497d34760
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright © 2006 Robert Millan
|
||||
* Copyright © 2010 Guillem Jover
|
||||
* Copyright © 2010-2011 Guillem Jover
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -29,6 +29,7 @@
|
||||
Rejected in glibc (http://sourceware.org/ml/libc-alpha/2006-03/msg00125.html)
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <bsd/stdlib.h>
|
||||
@ -38,6 +39,11 @@ static const char *__progname = NULL;
|
||||
const char *
|
||||
getprogname(void)
|
||||
{
|
||||
#ifdef __GLIBC__
|
||||
if (__progname == NULL)
|
||||
__progname = program_invocation_short_name;
|
||||
#endif
|
||||
|
||||
return __progname;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user