diff --git a/CHANGELOG.md b/CHANGELOG.md index fdb6d97d..dd0a2ee7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,6 +66,9 @@ * XCursor shape in CSD corners when window is tiled. * Error handling when processing keyboard input (maybe https://codeberg.org/dnkl/foot/issues/171). +* Compilation error _"overflow in conversion from long 'unsigned int' + to 'int' changes value... "_ seen on platforms where the `request` + argument in `ioctl(3)` is an `int` (for example: linux/ppc64). ### Security diff --git a/render.c b/render.c index fa9a967b..3cad92f9 100644 --- a/render.c +++ b/render.c @@ -2206,7 +2206,7 @@ maybe_resize(struct terminal *term, int width, int height, bool force) term->margins.left, term->margins.right, term->margins.top, term->margins.bottom); /* Signal TIOCSWINSZ */ - if (term->ptmx >= 0 && ioctl(term->ptmx, TIOCSWINSZ, + if (term->ptmx >= 0 && ioctl(term->ptmx, (unsigned int)TIOCSWINSZ, &(struct winsize){ .ws_row = term->rows, .ws_col = term->cols, diff --git a/terminal.c b/terminal.c index 303a4015..b9e4528a 100644 --- a/terminal.c +++ b/terminal.c @@ -928,7 +928,7 @@ term_init(const struct config *conf, struct fdm *fdm, struct reaper *reaper, goto close_fds; } - if (ioctl(ptmx, TIOCSWINSZ, + if (ioctl(ptmx, (unsigned int)TIOCSWINSZ, &(struct winsize){.ws_row = 24, .ws_col = 80}) < 0) { LOG_ERRNO("failed to set initial TIOCSWINSZ");