#include #include #include #include "perr.h" void pwarn0(void) { (void)fprintf(stderr, "%s\n", strerror(errno)); } void pwarn1(msg1) const char *msg1; { (void)fprintf(stderr, "%s: %s\n", msg1, strerror(errno)); } void pwarn2(msg1, msg2) const char *msg1, *msg2; { (void)fprintf(stderr, "%s: %s: %s\n", msg1, msg2, strerror(errno)); } void pwarn3(msg1, msg2, msg3) const char *msg1, *msg2, *msg3; { (void)fprintf(stderr, "%s: %s: %s: %s\n", msg1, msg2, msg3, strerror(errno)); } void pwarn1x(msg1) const char *msg1; { (void)fprintf(stderr, "%s\n", msg1); } void pwarn2x(msg1, msg2) const char *msg1, *msg2; { (void)fprintf(stderr, "%s: %s\n", msg1, msg2); } void pwarn3x(msg1, msg2, msg3) const char *msg1, *msg2, *msg3; { (void)fprintf(stderr, "%s: %s: %s\n", msg1, msg2, msg3); } void perr0(void) { pwarn0(); exit (1); } void perr1(msg1) const char *msg1; { pwarn1(msg1); exit (1); } void perr2(msg1, msg2) const char *msg1, *msg2; { pwarn2(msg1, msg2); exit (1); } void perr3(msg1, msg2, msg3) const char *msg1, *msg2, *msg3; { pwarn3(msg1, msg2, msg3); exit (1); } void perr1x(msg1) const char *msg1; { pwarn1x(msg1); exit (1); } void perr2x(msg1, msg2) const char *msg1, *msg2; { pwarn2x(msg1, msg2); exit (1); } void perr3x(msg1, msg2, msg3) const char *msg1, *msg2, *msg3; { pwarn3x(msg1, msg2, msg3); exit (1); }