diff options
author | Xin LI <delphij@FreeBSD.org> | 2014-03-01 00:40:26 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2014-03-01 00:40:26 +0000 |
commit | cea297eb34d2361e79529034397465068ae34ecd (patch) | |
tree | fbc3775582ebd1e6f026931751cfab6c588b643c /ncurses/base/lib_newwin.c | |
parent | 6826a395a618014c4541ff6a654be0d3afb392a1 (diff) | |
download | src-cea297eb34d2361e79529034397465068ae34ecd.tar.gz src-cea297eb34d2361e79529034397465068ae34ecd.zip |
Vendor import of ncurses 5.9 20140222 snapshot.vendor/ncurses/5.9-20140222
Notes
Notes:
svn path=/vendor/ncurses/dist/; revision=262639
svn path=/vendor/ncurses/5.9-20140222/; revision=262640; tag=vendor/ncurses/5.9-20140222
Diffstat (limited to 'ncurses/base/lib_newwin.c')
-rw-r--r-- | ncurses/base/lib_newwin.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ncurses/base/lib_newwin.c b/ncurses/base/lib_newwin.c index 72d8af84b703..a6c64beaaf4a 100644 --- a/ncurses/base/lib_newwin.c +++ b/ncurses/base/lib_newwin.c @@ -43,7 +43,7 @@ #include <curses.priv.h> #include <stddef.h> -MODULE_ID("$Id: lib_newwin.c,v 1.69 2011/03/07 21:58:17 tom Exp $") +MODULE_ID("$Id: lib_newwin.c,v 1.71 2011/05/28 21:32:51 tom Exp $") #define window_is(name) ((sp)->_##name == win) @@ -141,7 +141,11 @@ NCURSES_SP_NAME(newwin) (NCURSES_SP_DCLx T((T_CALLED("newwin(%p, %d,%d,%d,%d)"), (void *) SP_PARM, num_lines, num_columns, begy, begx)); - if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0) + if (begy < 0 + || begx < 0 + || num_lines < 0 + || num_columns < 0 + || SP_PARM == 0) returnWin(0); if (num_lines == 0) @@ -235,10 +239,15 @@ derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx) NCURSES_EXPORT(WINDOW *) subwin(WINDOW *w, int l, int c, int y, int x) { + WINDOW *result = 0; + T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), (void *) w, l, c, y, x)); - T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx)); + if (w != 0) { + T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx)); - returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx)); + result = derwin(w, l, c, y - w->_begy, x - w->_begx); + } + returnWin(result); } static bool |