#include #include #include #include #include #include "global.h" /* global variables */ volatile sig_atomic_t error = 0; /* error flag */ char *me = NULL; /* name of myself (argv[0]) */ char* charmap[128] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* backspace */ NULL, /* space */ NULL, /* linefeed */ NULL, NULL, NULL, /* carrige return */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "bla", /* space */ NULL, /* ! */ NULL, /* " */ NULL, /* # */ NULL, /* $ */ NULL, /* % */ NULL, /* & */ NULL, /* ' */ NULL, /* ( */ NULL, /* ) */ NULL, /* * */ NULL, /* + */ NULL, /* , */ NULL, /* - */ "la", /* . */ NULL, /* / */ NULL, /* 0 */ NULL, /* 1 */ NULL, /* 2 */ NULL, /* 3 */ NULL, /* 4 */ NULL, /* 5 */ NULL, /* 6 */ NULL, /* 7 */ NULL, /* 8 */ NULL, /* 9 */ NULL, /* : */ NULL, /* ; */ NULL, /* < */ NULL, /* = */ NULL, /* > */ NULL, /* ? */ NULL, /* @ */ "risikolos", /* A */ "neue", /* B */ "Wege", /* C */ "gehen", /* D */ "geeignet", /* E */ "Baum", /* F */ "anklage", /* G */ "die", /* H */ "Revolution", /* I */ "kugeln", /* J */ "Lust", /* K */ "lecker", /* L */ "Kreuter", /* M */ "Auge", /* N */ "ausstellen", /* O */ "benutzt", /* P */ "werden", /* Q */ "Ecke", /* R */ "Blut", /* S */ "Arche", /* T */ "Katze", /* U */ "Abfall", /* V */ "Clown", /* W */ "Stadtmuseum", /* X */ "Beiwagen", /* Y */ "Radio", /* Z */ NULL, /* [ */ NULL, /* \ */ NULL, /* ] */ NULL, /* ^ */ NULL, /* _ */ NULL, /* ` */ "Schilderung", /* a */ "Garten", /* b */ "ist", /* c */ "helfen", /* d */ "Publizist", /* e */ "Feigling", /* f */ "Kartoffelschnitzel", /* g */ "heute", /* h */ "dilettantisch", /* i */ "Design", /* j */ "Zuschauer", /* k */ "Ansicht", /* l */ "umspringen", /* m */ "mit", /* n */ "Antrieb", /* o */ "der", /* p */ "tue", /* q */ "das", /* r */ "Himmel", /* s */ "klar", /* t */ "Weib", /* u */ "von", /* v */ "drohen", /* w */ "nutzen", /* x */ "Zuschuss", /* y */ "denken", /* z */ NULL, /* { */ NULL, /* | */ NULL, /* } */ NULL, /* ~ */ NULL, /* DEL */ }; void vprintferr(const char *fmt, va_list ap) { (void) fprintf(stderr, "%s: ", me); (void) vfprintf(stderr, fmt, ap); if (errno) (void) fprintf(stderr, ": %s.", strerror(errno)); (void) fprintf(stderr, "\n"); error = 1; } void printferr(const char *fmt, ...) { va_list ap; (void) va_start(ap, fmt); (void) vprintferr(fmt, ap); (void) va_end(ap); } void bailout(const char *fmt, ...) { va_list ap; if (fmt != NULL) { (void) va_start(ap, fmt); (void) vprintferr(fmt, ap); (void) va_end(ap); } (void) exit(EXIT_FAILURE); }