X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-terminal%2Fsubterm.c;h=adc4caa42e8549bea0ab369baa971d05661266f5;hb=be5022138495d2e509735dec7486a040d3e2eb2d;hp=72ce2f6f6e6bfdb83f9d45a34217b1566dd44bf7;hpb=5ab887e98d80ffaf05a97abe4cdc1553a85f0637;p=elogind.git diff --git a/src/libsystemd-terminal/subterm.c b/src/libsystemd-terminal/subterm.c index 72ce2f6f6..adc4caa42 100644 --- a/src/libsystemd-terminal/subterm.c +++ b/src/libsystemd-terminal/subterm.c @@ -164,6 +164,7 @@ static int output_write(Output *o, const void *buf, size_t size) { return 0; } +_printf_(3,0) static int output_vnprintf(Output *o, size_t max, const char *format, va_list args) { char buf[4096]; int r; @@ -179,6 +180,7 @@ static int output_vnprintf(Output *o, size_t max, const char *format, va_list ar return output_write(o, buf, r); } +_printf_(3,4) static int output_nprintf(Output *o, size_t max, const char *format, ...) { va_list args; int r; @@ -190,6 +192,7 @@ static int output_nprintf(Output *o, size_t max, const char *format, ...) { return r; } +_printf_(2,0) static int output_vprintf(Output *o, const char *format, va_list args) { char buf[4096]; int r; @@ -204,6 +207,7 @@ static int output_vprintf(Output *o, const char *format, va_list args) { return output_write(o, buf, r); } +_printf_(2,3) static int output_printf(Output *o, const char *format, ...) { va_list args; int r; @@ -256,6 +260,7 @@ static int output_print_line(Output *o, size_t len) { return r; } +_printf_(2,3) static int output_frame_printl(Output *o, const char *format, ...) { va_list args; int r; @@ -381,7 +386,7 @@ static void output_draw_frame(Output *o) { static void output_draw_menu(Output *o) { assert(o); - output_frame_printl(o, ""); + output_frame_printl(o, "%s", ""); output_frame_printl(o, " Menu: (the following keys are recognized)"); output_frame_printl(o, " q: quit"); output_frame_printl(o, " ^C: send ^C to the PTY"); @@ -559,7 +564,7 @@ static void output_draw(Output *o, bool menu, term_screen *screen) { */ static void terminal_dirty(Terminal *t) { - uint64_t usec; + usec_t usec; int r; assert(t); @@ -711,10 +716,10 @@ static int terminal_io_fn(sd_event_source *source, int fd, uint32_t revents, voi for (i = 0; i < len; ++i) { const term_seq *seq; - const uint32_t *str; + uint32_t *str; size_t n_str, j; - str = term_utf8_decode(&t->utf8, &n_str, buf[i]); + n_str = term_utf8_decode(&t->utf8, &str, buf[i]); for (j = 0; j < n_str; ++j) { type = term_parser_feed(t->parser, &seq, str[j]); if (type < 0) {