diff --git a/cddl/contrib/opensolaris/cmd/mdb/tools/common/die.c b/cddl/contrib/opensolaris/cmd/mdb/tools/common/die.c index 16523ff24d57..602969e1abb3 100644 --- a/cddl/contrib/opensolaris/cmd/mdb/tools/common/die.c +++ b/cddl/contrib/opensolaris/cmd/mdb/tools/common/die.c @@ -40,6 +40,9 @@ die(char *format, ...) { va_list ap; int err = errno; +#if !defined(sun) + const char *progname = getprogname(); +#endif (void) fprintf(stderr, "%s: ", progname); @@ -51,13 +54,20 @@ die(char *format, ...) if (format[strlen(format) - 1] != '\n') (void) fprintf(stderr, ": %s\n", strerror(err)); +#if defined(__FreeBSD__) + exit(0); +#else exit(1); +#endif } void elfdie(char *format, ...) { va_list ap; +#if !defined(sun) + const char *progname = getprogname(); +#endif (void) fprintf(stderr, "%s: ", progname); @@ -69,5 +79,9 @@ elfdie(char *format, ...) if (format[strlen(format) - 1] != '\n') (void) fprintf(stderr, ": %s\n", elf_errmsg(elf_errno())); +#if defined(__FreeBSD__) + exit(0); +#else exit(1); +#endif }