diff options
Diffstat (limited to 'libarchive_fe/err.c')
-rw-r--r-- | libarchive_fe/err.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libarchive_fe/err.c b/libarchive_fe/err.c index a0173983a39c..8618a94ea5d5 100644 --- a/libarchive_fe/err.c +++ b/libarchive_fe/err.c @@ -44,6 +44,30 @@ static void lafe_vwarnc(int, const char *, va_list) __LA_PRINTFLIKE(2, 0); const char *lafe_progname; +const char * +lafe_getprogname(void) +{ + + return lafe_progname; +} + +void +lafe_setprogname(const char *name, const char *defaultname) +{ + + if (name == NULL) + name = defaultname; +#if defined(_WIN32) && !defined(__CYGWIN__) + lafe_progname = strrchr(name, '\\'); + if (strrchr(name, '/') > lafe_progname) +#endif + lafe_progname = strrchr(name, '/'); + if (lafe_progname != NULL) + lafe_progname++; + else + lafe_progname = name; +} + static void lafe_vwarnc(int code, const char *fmt, va_list ap) { |