-void
-errmsgv(int syserr, const char *fmt, va_list arg_ptr)
-{
- int save = errno;
-
- fflush(0);
- fprintf(stderr, "%s: error, ", progname);
- vfprintf(stderr, fmt, arg_ptr);
- if (syserr != 0) {
- fprintf(stderr, " (%s)", strerror(save));
- }
- fprintf(stderr, "\n");
-}
-
-void
-errmsg(int syserr, const char *fmt, ...)
-{
- va_list arg_ptr;
- va_start(arg_ptr, fmt);
- errmsgv(syserr, fmt, arg_ptr);
- va_end(arg_ptr);
-}
-
-void
-dbgmsg(int level, const char *fmt, ...)
-{
- va_list arg_ptr;
- if (verblevel >= level) {
- fflush(0);
- va_start(arg_ptr, fmt);
- vfprintf(stderr, fmt, arg_ptr);
- fprintf(stderr, "\n");
- va_end(arg_ptr);
- }
-}
-
+#define ERR(fmt, ...) do { \
+ fflush(0); \
+ fprintf(stderr, "[%s] *** error: " fmt "\n", progname, ## __VA_ARGS__ ); \
+} while (0)
+
+#define ERRS(fmt, ...) do { \
+ int save = errno; \
+ fflush(0); \
+ fprintf(stderr, "[%s] *** error: " fmt "\n", progname, ## __VA_ARGS__ \
+ , strerror(save)); \
+} while (0)
+
+#define WARN(fmt, ...) do { \
+ fprintf(stderr, "[%s] *** warning: " fmt "\n", progname, ## __VA_ARGS__ ); \
+} while (0)
+
+#define DBG(lev, fmt, ...) do { \
+ if (verblevel < lev) \
+ break;\
+ fprintf(stderr, "[%s] " fmt "\n", progname, ## __VA_ARGS__ ); \
+} while (0)
+
+#define ERR_FATAL -1
+#define ERR_INVALID_IMAGE -2