summaryrefslogtreecommitdiff
path: root/libarchive_fe/err.c
diff options
context:
space:
mode:
Diffstat (limited to 'libarchive_fe/err.c')
-rw-r--r--libarchive_fe/err.c24
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)
{