#endif
/* Set lafe_progname before calling lafe_warnc. */
- if (*argv == NULL)
- *argv = "bsdcpio";
- lafe_setprogname(*argv);
+ lafe_setprogname(*argv, "bsdcpio");
#if HAVE_SETLOCALE
if (setlocale(LC_ALL, "") == NULL)
}
void
-lafe_setprogname(const char *name)
+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)
__LA_PRINTFLIKE(3, 4);
const char * lafe_getprogname(void);
-void lafe_setprogname(const char *);
+void lafe_setprogname(const char *name, const char *defaultname);
#endif
#endif
/* Set lafe_progname before calling lafe_warnc. */
- if (*argv == NULL)
- *argv = "bsdtar";
- lafe_setprogname(*argv);
+ lafe_setprogname(*argv, "bsdtar");
#if HAVE_SETLOCALE
if (setlocale(LC_ALL, "") == NULL)