projects
/
ncurses.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ncurses 5.9 - patch 20110521
[ncurses.git]
/
menu
/
m_driver.c
diff --git
a/menu/m_driver.c
b/menu/m_driver.c
index d418e6a2255767f35060c46ee2ef9ea618f977ea..dcc1c55d83a237d7c37716e6a0ff03f674bb0dd9 100644
(file)
--- a/
menu/m_driver.c
+++ b/
menu/m_driver.c
@@
-1,5
+1,5
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998-20
05,2008
Free Software Foundation, Inc. *
+ * Copyright (c) 1998-20
10,2011
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 *
* *
* 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"
#include "menu.priv.h"
-MODULE_ID("$Id: m_driver.c,v 1.
27 2008/08/03 22:08:22
tom Exp $")
+MODULE_ID("$Id: m_driver.c,v 1.
30 2011/05/21 18:56:41
tom Exp $")
/* Macros */
/* Macros */
@@
-121,7
+121,8
@@
_nc_Match_Next_Character_In_Item_Name
bool found = FALSE, passed = FALSE;
int idx, last;
bool found = FALSE, passed = FALSE;
int idx, last;
- T((T_CALLED("_nc_Match_Next_Character(%p,%d,%p)"), menu, ch, item));
+ T((T_CALLED("_nc_Match_Next_Character(%p,%d,%p)"),
+ (void *)menu, ch, (void *)item));
assert(menu && item && *item);
idx = (*item)->index;
assert(menu && item && *item);
idx = (*item)->index;
@@
-197,7
+198,7
@@
_nc_Match_Next_Character_In_Item_Name
/*---------------------------------------------------------------------------
| Facility : libnmenu
/*---------------------------------------------------------------------------
| 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.
|
| Description : Central dispatcher for the menu. Translates the logical
| request 'c' into a menu action.
@@
-220,7
+221,7
@@
menu_driver(MENU * menu, int c)
ITEM *item;
int my_top_row, rdiff;
ITEM *item;
int my_top_row, rdiff;
- T((T_CALLED("menu_driver(%p,%d)"), menu, c));
+ T((T_CALLED("menu_driver(%p,%d)"),
(void *)
menu, c));
if (!menu)
RETURN(E_BAD_ARGUMENT);
if (!menu)
RETURN(E_BAD_ARGUMENT);
@@
-536,7
+537,11
@@
menu_driver(MENU * menu, int c)
result = E_UNKNOWN_COMMAND;
}
result = E_UNKNOWN_COMMAND;
}
- if (E_OK == result)
+ if (item == 0)
+ {
+ result = E_BAD_STATE;
+ }
+ else if (E_OK == result)
{
/* Adjust the top row if it turns out that the current item unfortunately
doesn't appear in the menu window */
{
/* Adjust the top row if it turns out that the current item unfortunately
doesn't appear in the menu window */