X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_touch.c;h=451606483b86f9268d0523ef607f24daa6d8cca6;hp=20ac9450f15f6bc8738d0dd728c13ff50fa172ca;hb=f8f67d02e909c4d165fbed2ba2810c94f2862548;hpb=b6d0d9ad9e372e856f01a4c283cf784a15993903 diff --git a/ncurses/base/lib_touch.c b/ncurses/base/lib_touch.c index 20ac9450..45160648 100644 --- a/ncurses/base/lib_touch.c +++ b/ncurses/base/lib_touch.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. * + * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -43,16 +43,19 @@ #include -MODULE_ID("$Id: lib_touch.c,v 1.12 2012/06/09 20:29:33 tom Exp $") +MODULE_ID("$Id: lib_touch.c,v 1.15 2017/11/21 00:14:26 tom Exp $") + +#undef is_linetouched NCURSES_EXPORT(bool) is_linetouched(WINDOW *win, int line) { T((T_CALLED("is_linetouched(%p,%d)"), (void *) win, line)); - /* XSI doesn't define any error */ - if (!win || (line > win->_maxy) || (line < 0)) - returnCode((bool) ERR); + /* XSI doesn't define any error, and gcc ultimately made it impossible */ + if (!win || (line > win->_maxy) || (line < 0)) { + returnCode(FALSE); + } returnCode(win->_line[line].firstchar != _NOCHANGE ? TRUE : FALSE); } @@ -60,14 +63,15 @@ is_linetouched(WINDOW *win, int line) NCURSES_EXPORT(bool) is_wintouched(WINDOW *win) { - int i; - T((T_CALLED("is_wintouched(%p)"), (void *) win)); - if (win) + if (win) { + int i; + for (i = 0; i <= win->_maxy; i++) if (win->_line[i].firstchar != _NOCHANGE) returnCode(TRUE); + } returnCode(FALSE); }