summaryrefslogtreecommitdiff
path: root/libarchive_fe
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@gmail.com>2013-12-19 19:58:33 -0800
committerTim Kientzle <kientzle@gmail.com>2013-12-19 19:58:33 -0800
commitb462718b703130234668f42a6a64d744a9947520 (patch)
tree518ca52da1552f342b77f2d8191c34d2929d24a6 /libarchive_fe
parent45da7eadab5d3d95ab370a24c15c612bb7ae785c (diff)
parentdc207e4669c73203f2fe834294157616a82d6287 (diff)
downloadlibarchive-b462718b703130234668f42a6a64d744a9947520.tar.gz
Merge branch 'master' of github.com:jymigeon/libarchive into jymigeon-master
Diffstat (limited to 'libarchive_fe')
-rw-r--r--libarchive_fe/err.c22
-rw-r--r--libarchive_fe/err.h5
2 files changed, 25 insertions, 2 deletions
diff --git a/libarchive_fe/err.c b/libarchive_fe/err.c
index a0173983..408c2029 100644
--- a/libarchive_fe/err.c
+++ b/libarchive_fe/err.c
@@ -44,6 +44,28 @@ 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)
+{
+
+#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)
{
diff --git a/libarchive_fe/err.h b/libarchive_fe/err.h
index ca1af356..c351cba8 100644
--- a/libarchive_fe/err.h
+++ b/libarchive_fe/err.h
@@ -40,10 +40,11 @@
#define __LA_PRINTFLIKE(f,a)
#endif
-extern const char *lafe_progname;
-
void lafe_warnc(int code, const char *fmt, ...) __LA_PRINTFLIKE(2, 3);
void lafe_errc(int eval, int code, const char *fmt, ...) __LA_DEAD
__LA_PRINTFLIKE(3, 4);
+const char * lafe_getprogname(void);
+void lafe_setprogname(const char *);
+
#endif