ncurses 5.6 - patch 20080816
[ncurses.git] / menu / m_driver.c
index 27f9fbad49fb2f4a1a4d03a6bad2f4c9592991f0..d418e6a2255767f35060c46ee2ef9ea618f977ea 100644 (file)
@@ -37,7 +37,7 @@
 
 #include "menu.priv.h"
 
 
 #include "menu.priv.h"
 
-MODULE_ID("$Id: m_driver.c,v 1.26 2008/07/05 20:54:33 tom Exp $")
+MODULE_ID("$Id: m_driver.c,v 1.27 2008/08/03 22:08:22 tom Exp $")
 
 /* Macros */
 
 
 /* Macros */
 
@@ -303,7 +303,7 @@ menu_driver(MENU * menu, int c)
          else
            {
              my_top_row += rdiff;
          else
            {
              my_top_row += rdiff;
-             while (rdiff-- > 0 && item != (ITEM *) 0)
+             while (rdiff-- > 0 && item != 0 && item->down != 0)
                item = item->down;
            }
          break;
                item = item->down;
            }
          break;
@@ -316,7 +316,7 @@ menu_driver(MENU * menu, int c)
          else
            {
              my_top_row -= rdiff;
          else
            {
              my_top_row -= rdiff;
-             while (rdiff-- && item != (ITEM *) 0)
+             while (rdiff-- > 0 && item != 0 && item->up != 0)
                item = item->up;
            }
          break;
                item = item->up;
            }
          break;