mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-01-09 03:08:38 +01:00
progname: Port to Windows
Define the directory separator depending on the system targetted. Reported-by: Progyan Bhattacharya <progyanb@acm.org>
This commit is contained in:
parent
0093ca2b0e
commit
5ba8c5bab0
@ -34,6 +34,12 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(__WINDOWS__)
|
||||
#define LIBBSD_IS_PATHNAME_SEPARATOR(c) ((c) == '/' || (c) == '\\')
|
||||
#else
|
||||
#define LIBBSD_IS_PATHNAME_SEPARATOR(c) ((c) == '/')
|
||||
#endif
|
||||
|
||||
#ifdef HAVE___PROGNAME
|
||||
extern const char *__progname;
|
||||
#else
|
||||
@ -58,11 +64,13 @@ getprogname(void)
|
||||
void
|
||||
setprogname(const char *progname)
|
||||
{
|
||||
const char *last_slash;
|
||||
size_t i;
|
||||
|
||||
last_slash = strrchr(progname, '/');
|
||||
if (last_slash == NULL)
|
||||
__progname = progname;
|
||||
else
|
||||
__progname = last_slash + 1;
|
||||
for (i = strlen(progname); i > 0; i--) {
|
||||
if (LIBBSD_IS_PATHNAME_SEPARATOR(progname[i - 1])) {
|
||||
__progname = progname + i;
|
||||
return;
|
||||
}
|
||||
}
|
||||
__progname = progname;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user