diff --git a/pdcurses/window.c b/pdcurses/window.c index 129de5b0..4320e641 100644 --- a/pdcurses/window.c +++ b/pdcurses/window.c @@ -306,9 +306,7 @@ int mvwin(WINDOW *win, int y, int x) WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begy, int begx) { WINDOW *win; - int i; - int j = begy - orig->_begy; - int k = begx - orig->_begx; + int i, j, k; PDC_LOG(("subwin() - called: lines %d cols %d begy %d begx %d\n", nlines, ncols, begy, begx)); @@ -320,6 +318,9 @@ WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begy, int begx) (begx + ncols) > (orig->_begx + orig->_maxx)) return (WINDOW *)NULL; + j = begy - orig->_begy; + k = begx - orig->_begx; + if (!nlines) nlines = orig->_maxy - 1 - j; if (!ncols)