diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-05-08 05:31:43 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-05-08 05:31:43 -0400 |
commit | 1638a5e8a90f0f0a6d46cdf3ff9f2393c45c248a (patch) | |
tree | 880e1fed8f48ccfd5fdb383e0990355e0b755fd0 | |
parent | 26e1ede47e62fe80c8b899847e5205cd60f130a9 (diff) | |
download | runes-1638a5e8a90f0f0a6d46cdf3ff9f2393c45c248a.tar.gz runes-1638a5e8a90f0f0a6d46cdf3ff9f2393c45c248a.zip |
abstract out error logging a bit
just spitting things to stderr isn't always going to be good enough, so
let's at least provide one place to change that when necessary
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | src/config.c | 18 | ||||
-rw-r--r-- | src/parser.c | 98 | ||||
-rw-r--r-- | src/parser.l | 98 | ||||
-rw-r--r-- | src/pty-unix.c | 1 | ||||
-rw-r--r-- | src/runes.h | 2 | ||||
-rw-r--r-- | src/screen.c | 2 | ||||
-rw-r--r-- | src/util.c | 13 | ||||
-rw-r--r-- | src/util.h | 6 | ||||
-rw-r--r-- | src/window-xlib.c | 3 |
10 files changed, 118 insertions, 126 deletions
@@ -8,7 +8,8 @@ OBJ = $(BUILD)runes.o \ $(BUILD)screen.o \ $(BUILD)config.o \ $(BUILD)window-xlib.o \ - $(BUILD)pty-unix.o + $(BUILD)pty-unix.o \ + $(BUILD)util.o LIBS = cairo cairo-xlib libuv pangocairo CFLAGS ?= -g -Wall -Wextra -Werror LDFLAGS ?= -g -Wall -Wextra -Werror diff --git a/src/config.c b/src/config.c index 689f042..b314522 100644 --- a/src/config.c +++ b/src/config.c @@ -1,4 +1,3 @@ -#include <stdio.h> #include <stdlib.h> #include <string.h> @@ -390,7 +389,7 @@ static void runes_config_process_config_file(RunesTerm *t, FILE *config_file) kend = kbegin + strcspn(kbegin, " \t="); vbegin = kend + strspn(kend, " \t"); if (*vbegin != '=') { - fprintf(stderr, "couldn't parse line: '%s'\n", line); + runes_warn("couldn't parse line: '%s'\n", line); } vbegin++; vbegin = vbegin + strspn(vbegin, " \t"); @@ -414,12 +413,11 @@ static void runes_config_process_args(RunesTerm *t, int argc, char *argv[]) i++; } else { - fprintf( - stderr, "option found with no argument: '%s'\n", argv[i]); + runes_warn("option found with no argument: '%s'\n", argv[i]); } } else { - fprintf(stderr, "unknown argument: '%s'\n", argv[i]); + runes_warn("unknown argument: '%s'\n", argv[i]); } } } @@ -482,7 +480,7 @@ static void runes_config_set(RunesTerm *t, char *key, char *val) i = atoi(&key[5]); if (key[5] < '0' || key[5] > '9' || i < 0 || i > 255) { - fprintf(stderr, "unknown option: '%s'\n", key); + runes_warn("unknown option: '%s'\n", key); return; } newcolor = runes_config_parse_color(val); @@ -507,7 +505,7 @@ static void runes_config_set(RunesTerm *t, char *key, char *val) config->cmd = runes_config_parse_string(val); } else { - fprintf(stderr, "unknown option: '%s'\n", key); + runes_warn("unknown option: '%s'\n", key); } } @@ -520,7 +518,7 @@ static char runes_config_parse_bool(char *val) return 0; } else { - fprintf(stderr, "unknown boolean value: '%s'\n", val); + runes_warn("unknown boolean value: '%s'\n", val); return 0; } } @@ -528,7 +526,7 @@ static char runes_config_parse_bool(char *val) static int runes_config_parse_uint(char *val) { if (strspn(val, "0123456789") != strlen(val)) { - fprintf(stderr, "unknown unsigned integer value: '%s'\n", val); + runes_warn("unknown unsigned integer value: '%s'\n", val); } return atoi(val); @@ -544,7 +542,7 @@ static cairo_pattern_t *runes_config_parse_color(char *val) int r, g, b; if (strlen(val) != 7 || sscanf(val, "#%2x%2x%2x", &r, &g, &b) != 3) { - fprintf(stderr, "unknown color value: '%s'\n", val); + runes_warn("unknown color value: '%s'\n", val); return NULL; } diff --git a/src/parser.c b/src/parser.c index 193c747..388097d 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1187,8 +1187,8 @@ case 49: YY_RULE_SETUP #line 182 "src/parser.l" { - fprintf( - stderr, "unhandled CSI sequence: \\033%*s\\%hho\n", + runes_warn( + "unhandled CSI sequence: \\033%*s\\%hho\n", (int)yyleng - 2, yytext + 1, yytext[yyleng - 1]); } YY_BREAK @@ -1196,8 +1196,8 @@ case 50: YY_RULE_SETUP #line 188 "src/parser.l" { - fprintf( - stderr, "unhandled CSI sequence: \\033%*s\n", + runes_warn( + "unhandled CSI sequence: \\033%*s\n", (int)yyleng - 1, yytext + 1); } YY_BREAK @@ -1206,8 +1206,8 @@ case 51: YY_RULE_SETUP #line 194 "src/parser.l" { - fprintf( - stderr, "unhandled OSC sequence: \\033%*s\\%hho\n", + runes_warn( + "unhandled OSC sequence: \\033%*s\\%hho\n", (int)yyleng - 2, yytext + 1, yytext[yyleng - 1]); } YY_BREAK @@ -1215,8 +1215,8 @@ case 52: YY_RULE_SETUP #line 200 "src/parser.l" { - fprintf( - stderr, "unhandled OSC sequence: \\033%*s\n", + runes_warn( + "unhandled OSC sequence: \\033%*s\n", (int)yyleng - 1, yytext + 1); } YY_BREAK @@ -1225,15 +1225,15 @@ case 53: YY_RULE_SETUP #line 206 "src/parser.l" { - fprintf(stderr, "unhandled escape sequence: \\%hho\n", yytext[1]); + runes_warn("unhandled escape sequence: \\%hho\n", yytext[1]); } YY_BREAK case 54: YY_RULE_SETUP #line 210 "src/parser.l" { - fprintf( - stderr, "unhandled escape sequence: %*s\n", + runes_warn( + "unhandled escape sequence: %*s\n", (int)yyleng - 1, yytext + 1); } YY_BREAK @@ -1242,14 +1242,14 @@ case 55: YY_RULE_SETUP #line 216 "src/parser.l" { - fprintf(stderr, "unhandled control character: \\%hho\n", yytext[0]); + runes_warn("unhandled control character: \\%hho\n", yytext[0]); } YY_BREAK case 56: YY_RULE_SETUP #line 220 "src/parser.l" { - fprintf(stderr, "invalid utf8 byte: \\%hho\n", yytext[0]); + runes_warn("invalid utf8 byte: \\%hho\n", yytext[0]); } YY_BREAK case 57: @@ -2450,7 +2450,7 @@ static void runes_parser_extract_sm_params( *nparams = 0; while ((size_t)(pos - buf) < len) { if (*nparams >= RUNES_PARSER_CSI_MAX_PARAMS) { - fprintf(stderr, "max CSI parameter length exceeded\n"); + runes_warn("max CSI parameter length exceeded\n"); break; } @@ -2549,7 +2549,7 @@ static void runes_parser_handle_ed(RunesTerm *t, char *buf, size_t len) runes_screen_clear_screen(t); break; default: - fprintf(stderr, "unknown ED parameter %d\n", params[0]); + runes_warn("unknown ED parameter %d\n", params[0]); break; } } @@ -2570,7 +2570,7 @@ static void runes_parser_handle_el(RunesTerm *t, char *buf, size_t len) runes_screen_kill_line(t); break; default: - fprintf(stderr, "unknown EL parameter %d\n", params[0]); + runes_warn("unknown EL parameter %d\n", params[0]); break; } } @@ -2615,9 +2615,7 @@ static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len) /* do nothing, no idea what this is even for */ break; default: - fprintf( - stderr, "unknown SM parameter: %d\n", - params[i]); + runes_warn("unknown SM parameter: %d\n", params[i]); break; } break; @@ -2640,16 +2638,13 @@ static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len) runes_screen_use_alternate_buffer(t); break; default: - fprintf( - stderr, "unknown SM parameter: %c%d\n", - modes[i], params[i]); + runes_warn( + "unknown SM parameter: %c%d\n", modes[i], params[i]); break; } break; default: - fprintf( - stderr, "unknown SM parameter: %c%d\n", - modes[i], params[i]); + runes_warn("unknown SM parameter: %c%d\n", modes[i], params[i]); break; } } @@ -2669,9 +2664,7 @@ static void runes_parser_handle_rm(RunesTerm *t, char *buf, size_t len) /* do nothing, no idea what this is even for */ break; default: - fprintf( - stderr, "unknown RM parameter: %d\n", - params[i]); + runes_warn("unknown RM parameter: %d\n", params[i]); break; } break; @@ -2694,16 +2687,13 @@ static void runes_parser_handle_rm(RunesTerm *t, char *buf, size_t len) runes_screen_use_normal_buffer(t); break; default: - fprintf( - stderr, "unknown RM parameter: %c%d\n", - modes[i], params[i]); + runes_warn( + "unknown RM parameter: %c%d\n", modes[i], params[i]); break; } break; default: - fprintf( - stderr, "unknown RM parameter: %c%d\n", - modes[i], params[i]); + runes_warn("unknown RM parameter: %c%d\n", modes[i], params[i]); break; } } @@ -2753,8 +2743,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 38: { i++; if (i >= nparams) { - fprintf( - stderr, "unknown SGR parameter: %d (too few parameters)\n", + runes_warn( + "unknown SGR parameter: %d (too few parameters)\n", params[i - 1]); break; } @@ -2763,8 +2753,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 2: i += 3; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 4], params[i - 3]); break; @@ -2775,8 +2764,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 5: i++; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 2], params[i - 1]); break; @@ -2785,8 +2773,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) break; default: i++; - fprintf( - stderr, "unknown SGR parameter: %d;%d\n", + runes_warn( + "unknown SGR parameter: %d;%d\n", params[i - 2], params[i - 1]); break; } @@ -2802,8 +2790,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 48: { i++; if (i >= nparams) { - fprintf( - stderr, "unknown SGR parameter: %d (too few parameters)\n", + runes_warn( + "unknown SGR parameter: %d (too few parameters)\n", params[i - 1]); break; } @@ -2812,8 +2800,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 2: i += 3; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 4], params[i - 3]); break; @@ -2824,8 +2811,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 5: i++; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 2], params[i - 1]); break; @@ -2834,8 +2820,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) break; default: i++; - fprintf( - stderr, "unknown SGR parameter: %d;%d\n", + runes_warn( + "unknown SGR parameter: %d;%d\n", params[i - 2], params[i - 1]); break; } @@ -2853,7 +2839,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) runes_screen_set_bg_color(t, params[i] - 92); break; default: - fprintf(stderr, "unknown SGR parameter: %d\n", params[i]); + runes_warn("unknown SGR parameter: %d\n", params[i]); break; } } @@ -2883,14 +2869,14 @@ static void runes_parser_handle_decsed(RunesTerm *t, char *buf, size_t len) break; case 1: /* XXX */ - fprintf(stderr, "unhandled DECSED parameter 1\n"); + runes_warn("unhandled DECSED parameter 1\n"); break; case 2: /* XXX not quite correct */ runes_screen_clear_screen(t); break; default: - fprintf(stderr, "unknown DECSED parameter %d\n", params[0]); + runes_warn("unknown DECSED parameter %d\n", params[0]); break; } } @@ -2907,14 +2893,14 @@ static void runes_parser_handle_decsel(RunesTerm *t, char *buf, size_t len) break; case 1: /* XXX */ - fprintf(stderr, "unhandled DECSEL parameter 1\n"); + runes_warn("unhandled DECSEL parameter 1\n"); break; case 2: /* XXX */ - fprintf(stderr, "unhandled DECSEL parameter 2\n"); + runes_warn("unhandled DECSEL parameter 2\n"); break; default: - fprintf(stderr, "unknown DECSEL parameter %d\n", params[0]); + runes_warn("unknown DECSEL parameter %d\n", params[0]); break; } } diff --git a/src/parser.l b/src/parser.l index 7c3ef02..b22c7a1 100644 --- a/src/parser.l +++ b/src/parser.l @@ -180,45 +180,45 @@ static void runes_parser_handle_text(RunesTerm *t, char *text, size_t len); <<EOF>> return 0; {CSI}[<=?]?{CSIPARAMS}{CTRL} { - fprintf( - stderr, "unhandled CSI sequence: \\033%*s\\%hho\n", + runes_warn( + "unhandled CSI sequence: \\033%*s\\%hho\n", (int)yyleng - 2, yytext + 1, yytext[yyleng - 1]); } {CSI}[<=?]?{CSIPARAMS}{CHAR} { - fprintf( - stderr, "unhandled CSI sequence: \\033%*s\n", + runes_warn( + "unhandled CSI sequence: \\033%*s\n", (int)yyleng - 1, yytext + 1); } {OSC}{CTRL} { - fprintf( - stderr, "unhandled OSC sequence: \\033%*s\\%hho\n", + runes_warn( + "unhandled OSC sequence: \\033%*s\\%hho\n", (int)yyleng - 2, yytext + 1, yytext[yyleng - 1]); } {OSC}{CHAR} { - fprintf( - stderr, "unhandled OSC sequence: \\033%*s\n", + runes_warn( + "unhandled OSC sequence: \\033%*s\n", (int)yyleng - 1, yytext + 1); } {ESC}{CTRL} { - fprintf(stderr, "unhandled escape sequence: \\%hho\n", yytext[1]); + runes_warn("unhandled escape sequence: \\%hho\n", yytext[1]); } {ESC}{CHAR} { - fprintf( - stderr, "unhandled escape sequence: %*s\n", + runes_warn( + "unhandled escape sequence: %*s\n", (int)yyleng - 1, yytext + 1); } {CTRL} { - fprintf(stderr, "unhandled control character: \\%hho\n", yytext[0]); + runes_warn("unhandled control character: \\%hho\n", yytext[0]); } (?s:.) { - fprintf(stderr, "invalid utf8 byte: \\%hho\n", yytext[0]); + runes_warn("invalid utf8 byte: \\%hho\n", yytext[0]); } %% @@ -320,7 +320,7 @@ static void runes_parser_extract_sm_params( *nparams = 0; while ((size_t)(pos - buf) < len) { if (*nparams >= RUNES_PARSER_CSI_MAX_PARAMS) { - fprintf(stderr, "max CSI parameter length exceeded\n"); + runes_warn("max CSI parameter length exceeded\n"); break; } @@ -419,7 +419,7 @@ static void runes_parser_handle_ed(RunesTerm *t, char *buf, size_t len) runes_screen_clear_screen(t); break; default: - fprintf(stderr, "unknown ED parameter %d\n", params[0]); + runes_warn("unknown ED parameter %d\n", params[0]); break; } } @@ -440,7 +440,7 @@ static void runes_parser_handle_el(RunesTerm *t, char *buf, size_t len) runes_screen_kill_line(t); break; default: - fprintf(stderr, "unknown EL parameter %d\n", params[0]); + runes_warn("unknown EL parameter %d\n", params[0]); break; } } @@ -485,9 +485,7 @@ static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len) /* do nothing, no idea what this is even for */ break; default: - fprintf( - stderr, "unknown SM parameter: %d\n", - params[i]); + runes_warn("unknown SM parameter: %d\n", params[i]); break; } break; @@ -510,16 +508,13 @@ static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len) runes_screen_use_alternate_buffer(t); break; default: - fprintf( - stderr, "unknown SM parameter: %c%d\n", - modes[i], params[i]); + runes_warn( + "unknown SM parameter: %c%d\n", modes[i], params[i]); break; } break; default: - fprintf( - stderr, "unknown SM parameter: %c%d\n", - modes[i], params[i]); + runes_warn("unknown SM parameter: %c%d\n", modes[i], params[i]); break; } } @@ -539,9 +534,7 @@ static void runes_parser_handle_rm(RunesTerm *t, char *buf, size_t len) /* do nothing, no idea what this is even for */ break; default: - fprintf( - stderr, "unknown RM parameter: %d\n", - params[i]); + runes_warn("unknown RM parameter: %d\n", params[i]); break; } break; @@ -564,16 +557,13 @@ static void runes_parser_handle_rm(RunesTerm *t, char *buf, size_t len) runes_screen_use_normal_buffer(t); break; default: - fprintf( - stderr, "unknown RM parameter: %c%d\n", - modes[i], params[i]); + runes_warn( + "unknown RM parameter: %c%d\n", modes[i], params[i]); break; } break; default: - fprintf( - stderr, "unknown RM parameter: %c%d\n", - modes[i], params[i]); + runes_warn("unknown RM parameter: %c%d\n", modes[i], params[i]); break; } } @@ -623,8 +613,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 38: { i++; if (i >= nparams) { - fprintf( - stderr, "unknown SGR parameter: %d (too few parameters)\n", + runes_warn( + "unknown SGR parameter: %d (too few parameters)\n", params[i - 1]); break; } @@ -633,8 +623,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 2: i += 3; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 4], params[i - 3]); break; @@ -645,8 +634,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 5: i++; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 2], params[i - 1]); break; @@ -655,8 +643,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) break; default: i++; - fprintf( - stderr, "unknown SGR parameter: %d;%d\n", + runes_warn( + "unknown SGR parameter: %d;%d\n", params[i - 2], params[i - 1]); break; } @@ -672,8 +660,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 48: { i++; if (i >= nparams) { - fprintf( - stderr, "unknown SGR parameter: %d (too few parameters)\n", + runes_warn( + "unknown SGR parameter: %d (too few parameters)\n", params[i - 1]); break; } @@ -682,8 +670,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 2: i += 3; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 4], params[i - 3]); break; @@ -694,8 +681,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) case 5: i++; if (i >= nparams) { - fprintf( - stderr, + runes_warn( "unknown SGR parameter: %d;%d (too few parameters)\n", params[i - 2], params[i - 1]); break; @@ -704,8 +690,8 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) break; default: i++; - fprintf( - stderr, "unknown SGR parameter: %d;%d\n", + runes_warn( + "unknown SGR parameter: %d;%d\n", params[i - 2], params[i - 1]); break; } @@ -723,7 +709,7 @@ static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len) runes_screen_set_bg_color(t, params[i] - 92); break; default: - fprintf(stderr, "unknown SGR parameter: %d\n", params[i]); + runes_warn("unknown SGR parameter: %d\n", params[i]); break; } } @@ -753,14 +739,14 @@ static void runes_parser_handle_decsed(RunesTerm *t, char *buf, size_t len) break; case 1: /* XXX */ - fprintf(stderr, "unhandled DECSED parameter 1\n"); + runes_warn("unhandled DECSED parameter 1\n"); break; case 2: /* XXX not quite correct */ runes_screen_clear_screen(t); break; default: - fprintf(stderr, "unknown DECSED parameter %d\n", params[0]); + runes_warn("unknown DECSED parameter %d\n", params[0]); break; } } @@ -777,14 +763,14 @@ static void runes_parser_handle_decsel(RunesTerm *t, char *buf, size_t len) break; case 1: /* XXX */ - fprintf(stderr, "unhandled DECSEL parameter 1\n"); + runes_warn("unhandled DECSEL parameter 1\n"); break; case 2: /* XXX */ - fprintf(stderr, "unhandled DECSEL parameter 2\n"); + runes_warn("unhandled DECSEL parameter 2\n"); break; default: - fprintf(stderr, "unknown DECSEL parameter %d\n", params[0]); + runes_warn("unknown DECSEL parameter %d\n", params[0]); break; } } diff --git a/src/pty-unix.c b/src/pty-unix.c index 82a3809..b43ae6f 100644 --- a/src/pty-unix.c +++ b/src/pty-unix.c @@ -1,5 +1,6 @@ #define _XOPEN_SOURCE 600 #include <fcntl.h> +#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> diff --git a/src/runes.h b/src/runes.h index 05398e9..18d6174 100644 --- a/src/runes.h +++ b/src/runes.h @@ -28,6 +28,8 @@ struct runes_loop_data { RunesTerm *t; }; +#include "util.h" + #include "window-xlib.h" #include "pty-unix.h" diff --git a/src/screen.c b/src/screen.c index 57b536d..a9ffb3e 100644 --- a/src/screen.c +++ b/src/screen.c @@ -446,7 +446,7 @@ void runes_screen_set_scroll_region( RunesScreen *scr = &t->scr; if (left > 0 || right < scr->grid->max.col - 1) { - fprintf(stderr, "vertical scroll regions not yet implemented\n"); + runes_warn("vertical scroll regions not yet implemented\n"); } if (top > bottom) { diff --git a/src/util.c b/src/util.c new file mode 100644 index 0000000..d87fd72 --- /dev/null +++ b/src/util.c @@ -0,0 +1,13 @@ +#include <stdarg.h> +#include <stdio.h> + +#include "runes.h" + +void runes_warn(const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + /* XXX make this do something else on windows */ + vfprintf(stderr, fmt, ap); + va_end(ap); +} diff --git a/src/util.h b/src/util.h new file mode 100644 index 0000000..f542261 --- /dev/null +++ b/src/util.h @@ -0,0 +1,6 @@ +#ifndef _RUNES_UTIL_H +#define _RUNES_UTIL_H + +void runes_warn(const char *fmt, ...); + +#endif diff --git a/src/window-xlib.c b/src/window-xlib.c index 2c36e44..cc9ec7e 100644 --- a/src/window-xlib.c +++ b/src/window-xlib.c @@ -1,5 +1,4 @@ #include <cairo-xlib.h> -#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <X11/cursorfont.h> @@ -167,7 +166,7 @@ void runes_window_backend_create_window(RunesTerm *t, int argc, char *argv[]) NULL ); if (w->ic == NULL) { - fprintf(stderr, "failed\n"); + runes_warn("failed\n"); exit(1); } |