X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fm_driver.c;h=5b7a89e386a5170c8ac4ebb5095d059a99444621;hp=c32a1d2fcd790eb0ffd510bad1a8b314928984e6;hb=1bdf9cf11520edfe2b931ead0335e7a1734792a8;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8 diff --git a/menu/m_driver.c b/menu/m_driver.c index c32a1d2f..5b7a89e3 100644 --- a/menu/m_driver.c +++ b/menu/m_driver.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2008,2009 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 * @@ -37,7 +37,7 @@ #include "menu.priv.h" -MODULE_ID("$Id: m_driver.c,v 1.24 2005/04/09 20:40:25 tom Exp $") +MODULE_ID("$Id: m_driver.c,v 1.28 2009/02/28 21:02:46 juergen Exp $") /* Macros */ @@ -74,7 +74,7 @@ Is_Sub_String( { while (*string && *part) { - if (toupper(*string++) != toupper(*part)) + if (toupper(UChar(*string++)) != toupper(UChar(*part))) break; part++; } @@ -157,7 +157,7 @@ _nc_Match_Next_Character_In_Item_Name if (++idx >= menu->nitems) idx = 0; } - if (Is_Sub_String((menu->opt & O_IGNORECASE) != 0, + if (Is_Sub_String((bool)((menu->opt & O_IGNORECASE) != 0), menu->pattern, menu->items[idx]->name.str) ) @@ -197,7 +197,7 @@ _nc_Match_Next_Character_In_Item_Name /*--------------------------------------------------------------------------- | Facility : libnmenu -| Function : int menu_driver(MENU *menu, int c) +| Function : int menu_driver(MENU* menu, int c) | | Description : Central dispatcher for the menu. Translates the logical | request 'c' into a menu action. @@ -303,7 +303,7 @@ menu_driver(MENU * menu, int c) else { my_top_row += rdiff; - while (rdiff-- > 0 && item != (ITEM *) 0) + while (rdiff-- > 0 && item != 0 && item->down != 0) item = item->down; } break; @@ -316,7 +316,7 @@ menu_driver(MENU * menu, int c) else { my_top_row -= rdiff; - while (rdiff-- && item != (ITEM *) 0) + while (rdiff-- > 0 && item != 0 && item->up != 0) item = item->up; } break;