aboutsummaryrefslogtreecommitdiff
path: root/menu
diff options
context:
space:
mode:
Diffstat (limited to 'menu')
-rw-r--r--menu/Makefile.in17
-rw-r--r--menu/READ.ME6
-rw-r--r--menu/llib-lmenu98
-rw-r--r--menu/llib-lmenut98
-rw-r--r--menu/llib-lmenutw98
-rw-r--r--menu/llib-lmenuw98
-rw-r--r--menu/m_attribs.c38
-rw-r--r--menu/m_cursor.c10
-rw-r--r--menu/m_driver.c18
-rw-r--r--menu/m_format.c7
-rw-r--r--menu/m_global.c48
-rw-r--r--menu/m_hook.c44
-rw-r--r--menu/m_item_cur.c16
-rw-r--r--menu/m_item_nam.c12
-rw-r--r--menu/m_item_new.c34
-rw-r--r--menu/m_item_opt.c28
-rw-r--r--menu/m_item_top.c16
-rw-r--r--menu/m_item_val.c18
-rw-r--r--menu/m_item_vis.c8
-rw-r--r--menu/m_items.c18
-rw-r--r--menu/m_new.c18
-rw-r--r--menu/m_pad.c14
-rw-r--r--menu/m_pattern.c12
-rw-r--r--menu/m_post.c64
-rw-r--r--menu/m_req_name.c15
-rw-r--r--menu/m_scale.c10
-rw-r--r--menu/m_sub.c12
-rw-r--r--menu/m_win.c12
28 files changed, 455 insertions, 432 deletions
diff --git a/menu/Makefile.in b/menu/Makefile.in
index fb13eb07c8ef..b623bf0eed82 100644
--- a/menu/Makefile.in
+++ b/menu/Makefile.in
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.70 2020/08/29 14:50:45 tom Exp $
+# $Id: Makefile.in,v 1.71 2021/07/03 15:45:33 tom Exp $
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 1998-2015,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@@ -136,6 +136,19 @@ AUTO_SRC = \
../include/mf_common.h
################################################################################
+
+@MAKE_PHONY@.PHONY : all
+@MAKE_PHONY@.PHONY : clean
+@MAKE_PHONY@.PHONY : distclean
+@MAKE_PHONY@.PHONY : install
+@MAKE_PHONY@.PHONY : install.libs
+@MAKE_PHONY@.PHONY : libs
+@MAKE_PHONY@.PHONY : mostlyclean
+@MAKE_PHONY@.PHONY : realclean
+@MAKE_PHONY@.PHONY : sources
+@MAKE_PHONY@.PHONY : uninstall
+@MAKE_PHONY@.PHONY : uninstall.libs
+
all \
libs \
install :: $(AUTO_SRC) $(LIBRARIES)
diff --git a/menu/READ.ME b/menu/READ.ME
index e790f4308624..8c78037764e0 100644
--- a/menu/READ.ME
+++ b/menu/READ.ME
@@ -1,5 +1,5 @@
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2003,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
@@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: READ.ME,v 1.10 2020/02/02 23:34:34 tom Exp $
+-- $Id: READ.ME,v 1.11 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
This is a clone of the menu library that is available with typical
@@ -37,7 +37,7 @@ a 386 based SVR4 implementation (ESIX).
The development environment was and is an ELF based Linux system.
-For things that still need doing, see the TO-DO file in the top-level
+For things that still need doing, see the TO-DO file in the top-level
directory.
Juergen Pfeifer
diff --git a/menu/llib-lmenu b/menu/llib-lmenu
index 7a5a41b9a72c..67f6822376e6 100644
--- a/menu/llib-lmenu
+++ b/menu/llib-lmenu
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -49,7 +49,7 @@ chtype menu_fore(
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -60,7 +60,7 @@ chtype menu_back(
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -73,9 +73,9 @@ chtype menu_grey(
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
@@ -88,14 +88,14 @@ int pos_menu_cursor(
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
@@ -103,15 +103,15 @@ int menu_driver(
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
@@ -124,7 +124,7 @@ ITEM _nc_Default_Item;
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
@@ -155,8 +155,8 @@ void _nc_Show_Menu(
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
@@ -164,7 +164,7 @@ void _nc_New_TopRow_and_CurrentItem(
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -175,7 +175,7 @@ Menu_Hook menu_init(
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -186,7 +186,7 @@ Menu_Hook menu_term(
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -197,7 +197,7 @@ Menu_Hook item_init(
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -210,7 +210,7 @@ Menu_Hook item_term(
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
@@ -240,7 +240,7 @@ const char *item_description(
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
@@ -251,7 +251,7 @@ int free_item(
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
@@ -264,19 +264,19 @@ const char *menu_mark(
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
@@ -289,7 +289,7 @@ Item_Options item_opts(
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
@@ -302,7 +302,7 @@ int top_row(
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
@@ -315,7 +315,7 @@ void *item_userptr(
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
@@ -335,7 +335,7 @@ NCURSES_BOOL item_visible(
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
@@ -353,7 +353,7 @@ int item_count(
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
@@ -371,19 +371,19 @@ int free_menu(
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
@@ -396,7 +396,7 @@ Menu_Options menu_opts(
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
@@ -414,7 +414,7 @@ char *menu_pattern(
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
@@ -422,7 +422,7 @@ int set_menu_pattern(
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
@@ -457,8 +457,8 @@ int menu_request_by_name(
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
@@ -466,17 +466,17 @@ int scale_menu(
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
@@ -484,7 +484,7 @@ int menu_spacing(
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
@@ -529,7 +529,7 @@ Menu_Options _nc_retrace_menu_opts(
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
@@ -542,7 +542,7 @@ void *menu_userptr(
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
diff --git a/menu/llib-lmenut b/menu/llib-lmenut
index 1d348c09d2bb..0a0d05947222 100644
--- a/menu/llib-lmenut
+++ b/menu/llib-lmenut
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -49,7 +49,7 @@ chtype menu_fore(
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -60,7 +60,7 @@ chtype menu_back(
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -73,9 +73,9 @@ chtype menu_grey(
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
@@ -88,14 +88,14 @@ int pos_menu_cursor(
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
@@ -103,15 +103,15 @@ int menu_driver(
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
@@ -124,7 +124,7 @@ ITEM _nc_Default_Item;
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
@@ -155,8 +155,8 @@ void _nc_Show_Menu(
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
@@ -164,7 +164,7 @@ void _nc_New_TopRow_and_CurrentItem(
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -175,7 +175,7 @@ Menu_Hook menu_init(
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -186,7 +186,7 @@ Menu_Hook menu_term(
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -197,7 +197,7 @@ Menu_Hook item_init(
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -210,7 +210,7 @@ Menu_Hook item_term(
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
@@ -240,7 +240,7 @@ const char *item_description(
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
@@ -251,7 +251,7 @@ int free_item(
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
@@ -264,19 +264,19 @@ const char *menu_mark(
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
@@ -289,7 +289,7 @@ Item_Options item_opts(
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
@@ -302,7 +302,7 @@ int top_row(
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
@@ -315,7 +315,7 @@ void *item_userptr(
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
@@ -335,7 +335,7 @@ NCURSES_BOOL item_visible(
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
@@ -353,7 +353,7 @@ int item_count(
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
@@ -371,19 +371,19 @@ int free_menu(
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
@@ -396,7 +396,7 @@ Menu_Options menu_opts(
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
@@ -414,7 +414,7 @@ char *menu_pattern(
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
@@ -422,7 +422,7 @@ int set_menu_pattern(
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
@@ -457,8 +457,8 @@ int menu_request_by_name(
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
@@ -466,17 +466,17 @@ int scale_menu(
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
@@ -484,7 +484,7 @@ int menu_spacing(
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
@@ -529,7 +529,7 @@ Menu_Options _nc_retrace_menu_opts(
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
@@ -542,7 +542,7 @@ void *menu_userptr(
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
diff --git a/menu/llib-lmenutw b/menu/llib-lmenutw
index 1d348c09d2bb..0a0d05947222 100644
--- a/menu/llib-lmenutw
+++ b/menu/llib-lmenutw
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -49,7 +49,7 @@ chtype menu_fore(
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -60,7 +60,7 @@ chtype menu_back(
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -73,9 +73,9 @@ chtype menu_grey(
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
@@ -88,14 +88,14 @@ int pos_menu_cursor(
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
@@ -103,15 +103,15 @@ int menu_driver(
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
@@ -124,7 +124,7 @@ ITEM _nc_Default_Item;
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
@@ -155,8 +155,8 @@ void _nc_Show_Menu(
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
@@ -164,7 +164,7 @@ void _nc_New_TopRow_and_CurrentItem(
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -175,7 +175,7 @@ Menu_Hook menu_init(
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -186,7 +186,7 @@ Menu_Hook menu_term(
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -197,7 +197,7 @@ Menu_Hook item_init(
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -210,7 +210,7 @@ Menu_Hook item_term(
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
@@ -240,7 +240,7 @@ const char *item_description(
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
@@ -251,7 +251,7 @@ int free_item(
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
@@ -264,19 +264,19 @@ const char *menu_mark(
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
@@ -289,7 +289,7 @@ Item_Options item_opts(
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
@@ -302,7 +302,7 @@ int top_row(
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
@@ -315,7 +315,7 @@ void *item_userptr(
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
@@ -335,7 +335,7 @@ NCURSES_BOOL item_visible(
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
@@ -353,7 +353,7 @@ int item_count(
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
@@ -371,19 +371,19 @@ int free_menu(
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
@@ -396,7 +396,7 @@ Menu_Options menu_opts(
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
@@ -414,7 +414,7 @@ char *menu_pattern(
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
@@ -422,7 +422,7 @@ int set_menu_pattern(
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
@@ -457,8 +457,8 @@ int menu_request_by_name(
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
@@ -466,17 +466,17 @@ int scale_menu(
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
@@ -484,7 +484,7 @@ int menu_spacing(
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
@@ -529,7 +529,7 @@ Menu_Options _nc_retrace_menu_opts(
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
@@ -542,7 +542,7 @@ void *menu_userptr(
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
diff --git a/menu/llib-lmenuw b/menu/llib-lmenuw
index 6ad96140a5b0..d5566d489696 100644
--- a/menu/llib-lmenuw
+++ b/menu/llib-lmenuw
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2002-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -49,7 +49,7 @@ chtype menu_fore(
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -60,7 +60,7 @@ chtype menu_back(
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
@@ -73,9 +73,9 @@ chtype menu_grey(
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
@@ -88,14 +88,14 @@ int pos_menu_cursor(
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
@@ -103,15 +103,15 @@ int menu_driver(
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
@@ -124,7 +124,7 @@ ITEM _nc_Default_Item;
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
@@ -155,8 +155,8 @@ void _nc_Show_Menu(
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
@@ -164,7 +164,7 @@ void _nc_New_TopRow_and_CurrentItem(
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -175,7 +175,7 @@ Menu_Hook menu_init(
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -186,7 +186,7 @@ Menu_Hook menu_term(
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -197,7 +197,7 @@ Menu_Hook item_init(
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
@@ -210,7 +210,7 @@ Menu_Hook item_term(
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
@@ -240,7 +240,7 @@ const char *item_description(
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
@@ -251,7 +251,7 @@ int free_item(
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
@@ -264,19 +264,19 @@ const char *menu_mark(
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
@@ -289,7 +289,7 @@ Item_Options item_opts(
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
@@ -302,7 +302,7 @@ int top_row(
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
@@ -315,7 +315,7 @@ void *item_userptr(
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
@@ -335,7 +335,7 @@ NCURSES_BOOL item_visible(
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
@@ -353,7 +353,7 @@ int item_count(
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
@@ -371,19 +371,19 @@ int free_menu(
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
@@ -396,7 +396,7 @@ Menu_Options menu_opts(
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
@@ -414,7 +414,7 @@ char *menu_pattern(
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
@@ -422,7 +422,7 @@ int set_menu_pattern(
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
@@ -457,8 +457,8 @@ int menu_request_by_name(
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
@@ -466,17 +466,17 @@ int scale_menu(
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
@@ -484,7 +484,7 @@ int menu_spacing(
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
@@ -529,7 +529,7 @@ Menu_Options _nc_retrace_menu_opts(
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
@@ -542,7 +542,7 @@ void *menu_userptr(
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
diff --git a/menu/m_attribs.c b/menu/m_attribs.c
index 5cd94d342475..a9275d08049e 100644
--- a/menu/m_attribs.c
+++ b/menu/m_attribs.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_attribs.c,v 1.19 2020/07/04 19:44:58 tom Exp $")
+MODULE_ID("$Id: m_attribs.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/* Macro to redraw menu if it is posted and changed */
#define Refresh_Menu(menu) \
@@ -73,69 +73,69 @@ MENU_EXPORT(chtype) NCURSES_API menu_ ## name (const MENU * menu)\
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_fore(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for selectable items. In single-
| valued menus this is used to highlight the current
| item ((i.e. where the cursor is), in multi-valued
| menus this is used to highlight the selected items.
|
| Return Values : E_OK - success
-| E_BAD_ARGUMENT - an invalid value has been passed
+| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(fore)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_fore(const MENU* menu)
-|
+|
| Description : Return the attribute used for selectable items that
| are current (single-valued menu) or selected (multi-
-| valued menu).
+| valued menu).
|
| Return Values : Attribute value
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_GET_FCT(fore)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_back(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for selectable but not yet selected
| items.
|
-| Return Values : E_OK - success
+| Return Values : E_OK - success
| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(back)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_back(const MENU *menu)
-|
+|
| Description : Return the attribute used for selectable but not yet
-| selected items.
+| selected items.
|
| Return Values : Attribute value
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_GET_FCT(back)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_grey(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for unselectable items.
|
| Return Values : E_OK - success
-| E_BAD_ARGUMENT - an invalid value has been passed
+| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(grey)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_grey(const MENU *menu)
-|
+|
| Description : Return the attribute used for non-selectable items
|
| Return Values : Attribute value
diff --git a/menu/m_cursor.c b/menu/m_cursor.c
index 8cf15ce51335..b9b301d3eb90 100644
--- a/menu/m_cursor.c
+++ b/menu/m_cursor.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_cursor.c,v 1.25 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_cursor.c,v 1.26 2021/03/27 23:46:29 tom Exp $")
/*---------------------------------------------------------------------------
| Facility : libnmenu
@@ -83,7 +83,6 @@ _nc_menu_cursor_pos(const MENU *menu, const ITEM *item, int *pY, int *pX)
MENU_EXPORT(int)
pos_menu_cursor(const MENU *menu)
{
- WINDOW *win, *sub;
int x = 0, y = 0;
int err = _nc_menu_cursor_pos(menu, (ITEM *)0, &y, &x);
@@ -91,8 +90,9 @@ pos_menu_cursor(const MENU *menu)
if (E_OK == err)
{
- win = Get_Menu_UserWin(menu);
- sub = menu->usersub ? menu->usersub : win;
+ WINDOW *win = Get_Menu_UserWin(menu);
+ WINDOW *sub = menu->usersub ? menu->usersub : win;
+
assert(win && sub);
if ((menu->opt & O_SHOWMATCH) && (menu->pindex > 0))
diff --git a/menu/m_driver.c b/menu/m_driver.c
index b1d7c3541b53..cf2ef2fe05c6 100644
--- a/menu/m_driver.c
+++ b/menu/m_driver.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_driver.c,v 1.36 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_driver.c,v 1.37 2021/03/27 23:46:29 tom Exp $")
/* Macros */
@@ -220,7 +220,7 @@ menu_driver(MENU *menu, int c)
int result = E_OK;
ITEM *item;
- int my_top_row, rdiff;
+ int my_top_row;
T((T_CALLED("menu_driver(%p,%d)"), (void *)menu, c));
@@ -239,6 +239,8 @@ menu_driver(MENU *menu, int c)
if ((c > KEY_MAX) && (c <= MAX_MENU_COMMAND))
{
+ int rdiff;
+
if (!((c == REQ_BACK_PATTERN)
|| (c == REQ_NEXT_MATCH) || (c == REQ_PREV_MATCH)))
{
@@ -489,16 +491,20 @@ menu_driver(MENU *menu, int c)
}
else if (wenclose(sub, event.y, event.x))
{ /* Inside the area we try to find the hit item */
- int i, x, y, err;
+ int x, y;
ry = event.y;
rx = event.x;
if (wmouse_trafo(sub, &ry, &rx, FALSE))
{
+ int i;
+
for (i = 0; i < menu->nitems; i++)
{
- err = _nc_menu_cursor_pos(menu, menu->items[i],
- &y, &x);
+ int err = _nc_menu_cursor_pos(menu,
+ menu->items[i],
+ &y, &x);
+
if (E_OK == err)
{
if ((ry == y) &&
diff --git a/menu/m_format.c b/menu/m_format.c
index 848de0b21118..65adfc6bfcb0 100644
--- a/menu/m_format.c
+++ b/menu/m_format.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_format.c,v 1.21 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_format.c,v 1.22 2021/03/27 23:46:29 tom Exp $")
#define minimum(a,b) ((a)<(b) ? (a): (b))
@@ -59,7 +59,6 @@ MODULE_ID("$Id: m_format.c,v 1.21 2020/12/12 00:38:02 tom Exp $")
MENU_EXPORT(int)
set_menu_format(MENU *menu, int rows, int cols)
{
- int total_rows, total_cols;
T((T_CALLED("set_menu_format(%p,%d,%d)"), (void *)menu, rows, cols));
@@ -68,6 +67,8 @@ set_menu_format(MENU *menu, int rows, int cols)
if (menu)
{
+ int total_rows, total_cols;
+
if (menu->status & _POSTED)
RETURN(E_POSTED);
diff --git a/menu/m_global.c b/menu/m_global.c
index 2e5211468a86..4bc8ef8fc8c1 100644
--- a/menu/m_global.c
+++ b/menu/m_global.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020-2021,2023 Thomas E. Dickey *
* Copyright 1998-2012,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_global.c,v 1.32 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_global.c,v 1.34 2023/09/16 16:39:26 tom Exp $")
static char mark[] = "-";
/* *INDENT-OFF* */
@@ -113,12 +113,12 @@ ComputeMaximum_NameDesc_Lengths(MENU *menu)
unsigned MaximumNameLength = 0;
unsigned MaximumDescriptionLength = 0;
ITEM **items;
- unsigned check;
assert(menu && menu->items);
for (items = menu->items; *items; items++)
{
- check = (unsigned)_nc_Calculate_Text_Width(&((*items)->name));
+ unsigned check = (unsigned)_nc_Calculate_Text_Width(&((*items)->name));
+
if (check > MaximumNameLength)
MaximumNameLength = check;
@@ -174,11 +174,12 @@ ResetConnectionInfo(MENU *menu, ITEM **items)
MENU_EXPORT(bool)
_nc_Connect_Items(MENU *menu, ITEM **items)
{
- ITEM **item;
unsigned int ItemCount = 0;
if (menu && items)
{
+ ITEM **item;
+
for (item = items; *item; item++)
{
if ((*item)->imenu)
@@ -292,23 +293,19 @@ static int
calculate_actual_width(MENU *menu, bool name)
{
int width = 0;
- int check = 0;
- ITEM **items;
assert(menu && menu->items);
if (menu->items != 0)
{
+ ITEM **items;
+
for (items = menu->items; *items; items++)
{
- if (name)
- {
- check = _nc_Calculate_Text_Width(&((*items)->name));
- }
- else
- {
- check = _nc_Calculate_Text_Width(&((*items)->description));
- }
+ int check = (name
+ ? _nc_Calculate_Text_Width(&((*items)->name))
+ : _nc_Calculate_Text_Width(&((*items)->description)));
+
if (check > width)
width = check;
}
@@ -381,7 +378,7 @@ _nc_Link_Items(MENU *menu)
{
if (menu && menu->items && *(menu->items))
{
- int i, j;
+ int i;
ITEM *item;
int Number_Of_Items = menu->nitems;
int col = 0, row = 0;
@@ -444,6 +441,7 @@ _nc_Link_Items(MENU *menu)
else
{
int Number_Of_Rows = menu->rows;
+ int j;
for (j = 0; j < Number_Of_Items; j++)
{
@@ -506,12 +504,12 @@ _nc_Link_Items(MENU *menu)
MENU_EXPORT(void)
_nc_Show_Menu(const MENU *menu)
{
- WINDOW *win;
- int maxy, maxx;
-
assert(menu);
if ((menu->status & _POSTED) && !(menu->status & _IN_DRIVER))
{
+ WINDOW *win;
+ int maxy, maxx;
+
/* adjust the internal subwindow to start on the current top */
assert(menu->sub);
mvderwin(menu->sub, menu->spc_rows * menu->toprow, 0);
@@ -549,13 +547,13 @@ _nc_New_TopRow_and_CurrentItem(
int new_toprow,
ITEM *new_current_item)
{
- ITEM *cur_item;
- bool mterm_called = FALSE;
- bool iterm_called = FALSE;
-
assert(menu);
if (menu->status & _POSTED)
{
+ ITEM *cur_item;
+ bool mterm_called = FALSE;
+ bool iterm_called = FALSE;
+
if (new_current_item != menu->curitem)
{
Call_Hook(menu, itemterm);
@@ -570,7 +568,7 @@ _nc_New_TopRow_and_CurrentItem(
cur_item = menu->curitem;
assert(cur_item);
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
- ? min(menu->rows - menu->frows, new_toprow)
+ ? Min(menu->rows - menu->frows, new_toprow)
: 0);
menu->curitem = new_current_item;
@@ -594,7 +592,7 @@ _nc_New_TopRow_and_CurrentItem(
else
{ /* if we are not posted, this is quite simple */
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
- ? min(menu->rows - menu->frows, new_toprow)
+ ? Min(menu->rows - menu->frows, new_toprow)
: 0);
menu->curitem = new_current_item;
}
diff --git a/menu/m_hook.c b/menu/m_hook.c
index 916b9fc7ce7d..c7d9fe91af7f 100644
--- a/menu/m_hook.c
+++ b/menu/m_hook.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_hook.c,v 1.20 2020/07/04 19:45:16 tom Exp $")
+MODULE_ID("$Id: m_hook.c,v 1.21 2021/06/17 21:26:02 tom Exp $")
/* "Template" macro to generate function to set application specific hook */
#define GEN_HOOK_SET_FUNCTION( typ, name ) \
@@ -59,9 +59,9 @@ MENU_EXPORT(Menu_Hook) NCURSES_API typ ## _ ## name ( const MENU *menu )\
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_init(MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is posted
| or just after the top row changes.
|
@@ -70,11 +70,11 @@ MENU_EXPORT(Menu_Hook) NCURSES_API typ ## _ ## name ( const MENU *menu )\
GEN_HOOK_SET_FUNCTION(menu, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) menu_init(const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is posted or just after the top row
+| when a menu is posted or just after the top row
| changes.
|
| Return Values : Menu init function address or NULL
@@ -82,9 +82,9 @@ GEN_HOOK_SET_FUNCTION(menu, init)
GEN_HOOK_GET_FUNCTION(menu, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_term (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is unposted
| or just before the top row changes.
|
@@ -93,11 +93,11 @@ GEN_HOOK_GET_FUNCTION(menu, init)
GEN_HOOK_SET_FUNCTION(menu, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) menu_term(const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is unposted or just before the top row
+| when a menu is unposted or just before the top row
| changes.
|
| Return Values : Menu finalization function address or NULL
@@ -105,9 +105,9 @@ GEN_HOOK_SET_FUNCTION(menu, term)
GEN_HOOK_GET_FUNCTION(menu, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_init (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is posted
| or just after the current item changes.
|
@@ -116,11 +116,11 @@ GEN_HOOK_GET_FUNCTION(menu, term)
GEN_HOOK_SET_FUNCTION(item, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) item_init (const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is posted or just after the current item
+| when a menu is posted or just after the current item
| changes.
|
| Return Values : Item init function address or NULL
@@ -128,9 +128,9 @@ GEN_HOOK_SET_FUNCTION(item, init)
GEN_HOOK_GET_FUNCTION(item, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_term (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is unposted
| or just before the current item changes.
|
@@ -139,11 +139,11 @@ GEN_HOOK_GET_FUNCTION(item, init)
GEN_HOOK_SET_FUNCTION(item, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) item_init (const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is unposted or just before the current item
+| when a menu is unposted or just before the current item
| changes.
|
| Return Values : Item finalization function address or NULL
diff --git a/menu/m_item_cur.c b/menu/m_item_cur.c
index dcb0be156ac5..ed76518211d8 100644
--- a/menu/m_item_cur.c
+++ b/menu/m_item_cur.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_cur.c,v 1.21 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_item_cur.c,v 1.22 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_current_item(MENU *menu, const ITEM *item)
-|
+|
| Description : Make the item the current item
|
| Return Values : E_OK - success
@@ -82,9 +82,9 @@ set_current_item(MENU *menu, ITEM *item)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM *current_item(const MENU *menu)
-|
+|
| Description : Return the menus current item
|
| Return Values : Item pointer or NULL if failure
@@ -97,9 +97,9 @@ current_item(const MENU *menu)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int item_index(const ITEM *)
-|
+|
| Description : Return the logical index of this item.
|
| Return Values : The index or ERR if this is an invalid item pointer
diff --git a/menu/m_item_nam.c b/menu/m_item_nam.c
index 92966270454d..ce74531f0f4c 100644
--- a/menu/m_item_nam.c
+++ b/menu/m_item_nam.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_nam.c,v 1.18 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_nam.c,v 1.19 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *item_name(const ITEM *item)
-|
+|
| Description : Return name of menu item
|
| Return Values : See above; returns NULL if item is invalid
@@ -56,9 +56,9 @@ item_name(const ITEM *item)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *item_description(const ITEM *item)
-|
+|
| Description : Returns description of item
|
| Return Values : See above; Returns NULL if item is invalid
diff --git a/menu/m_item_new.c b/menu/m_item_new.c
index 4e3f67bacdd0..28b71caf5b07 100644
--- a/menu/m_item_new.c
+++ b/menu/m_item_new.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -45,12 +45,12 @@
#endif
#endif
-MODULE_ID("$Id: m_item_new.c,v 1.37 2021/02/13 19:40:51 tom Exp $")
+MODULE_ID("$Id: m_item_new.c,v 1.38 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool Is_Printable_String(const char *s)
-|
+|
| Description : Checks whether or not the string contains only printable
| characters.
|
@@ -98,9 +98,9 @@ Is_Printable_String(const char *s)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM *new_item(char *name, char *description)
-|
+|
| Description : Create a new item with name and description. Return
| a pointer to this new item.
| N.B.: an item must(!) have a name.
@@ -152,15 +152,15 @@ new_item(const char *name, const char *description)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int free_item(ITEM *item)
-|
-| Description : Free the allocated storage for this item.
+|
+| Description : Free the allocated storage for this item.
| N.B.: a connected item can't be freed.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid value has been passed
-| E_CONNECTED - item is still connected to a menu
+| E_CONNECTED - item is still connected to a menu
+--------------------------------------------------------------------------*/
MENU_EXPORT(int)
free_item(ITEM *item)
@@ -179,16 +179,16 @@ free_item(ITEM *item)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_mark( MENU *menu, const char *mark )
-|
+|
| Description : Set the mark string used to indicate the current
| item (single-valued menu) or the selected items
| (multi-valued menu).
-| The mark argument may be NULL, in which case no
+| The mark argument may be NULL, in which case no
| marker is used.
-| This might be a little bit tricky, because this may
-| affect the geometry of the menu, which we don't allow
+| This might be a little bit tricky, because this may
+| affect the geometry of the menu, which we don't allow
| if it is already posted.
|
| Return Values : E_OK - success
@@ -260,9 +260,9 @@ set_menu_mark(MENU *menu, const char *mark)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *menu_mark(const MENU *menu)
-|
+|
| Description : Return a pointer to the marker string
|
| Return Values : The marker string pointer or NULL if no marker defined
diff --git a/menu/m_item_opt.c b/menu/m_item_opt.c
index 985fd2988c37..495e409b601b 100644
--- a/menu/m_item_opt.c
+++ b/menu/m_item_opt.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_opt.c,v 1.21 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_opt.c,v 1.22 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int set_item_opts(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int set_item_opts(ITEM *item, Item_Options opts)
+|
| Description : Set the options of the item. If there are relevant
| changes, the item is connected and the menu is posted,
| the menu will be redisplayed.
@@ -86,9 +86,9 @@ set_item_opts(ITEM *item, Item_Options opts)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_off(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_off(ITEM *item, Item_Options opts)
+|
| Description : Switch of the options for this item.
|
| Return Values : E_OK - success
@@ -114,9 +114,9 @@ item_opts_off(ITEM *item, Item_Options opts)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_on(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_on(ITEM *item, Item_Options opts)
+|
| Description : Switch on the options for this item.
|
| Return Values : E_OK - success
@@ -143,9 +143,9 @@ item_opts_on(ITEM *item, Item_Options opts)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : Item_Options item_opts(const ITEM *item)
-|
+| Facility : libnmenu
+| Function : Item_Options item_opts(const ITEM *item)
+|
| Description : Switch of the options for this item.
|
| Return Values : Items options
diff --git a/menu/m_item_top.c b/menu/m_item_top.c
index ee0d17b43dd5..68303c7676b5 100644
--- a/menu/m_item_top.c
+++ b/menu/m_item_top.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_top.c,v 1.14 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_top.c,v 1.16 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_top_row(MENU *menu, int row)
-|
+|
| Description : Makes the specified row the top row in the menu
|
| Return Values : E_OK - success
@@ -53,8 +53,6 @@ MODULE_ID("$Id: m_item_top.c,v 1.14 2020/12/12 00:38:08 tom Exp $")
MENU_EXPORT(int)
set_top_row(MENU *menu, int row)
{
- ITEM *item;
-
T((T_CALLED("set_top_row(%p,%d)"), (void *)menu, row));
if (menu)
@@ -72,6 +70,8 @@ set_top_row(MENU *menu, int row)
if (row != menu->toprow)
{
+ ITEM *item;
+
if (menu->status & _LINK_NEEDED)
_nc_Link_Items(menu);
@@ -85,9 +85,9 @@ set_top_row(MENU *menu, int row)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int top_row(const MENU *)
-|
+|
| Description : Return the top row of the menu
|
| Return Values : The row number or ERR if there is no row
diff --git a/menu/m_item_val.c b/menu/m_item_val.c
index a5c38e2716dc..3163f4b7216e 100644
--- a/menu/m_item_val.c
+++ b/menu/m_item_val.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,17 +38,17 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_val.c,v 1.18 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_val.c,v 1.20 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_value(ITEM *item, int value)
-|
+|
| Description : Programmatically set the item's selection value. This is
| only allowed if the item is selectable at all and if
| it is not connected to a single-valued menu.
| If the item is connected to a posted menu, the menu
-| will be redisplayed.
+| will be redisplayed.
|
| Return Values : E_OK - success
| E_REQUEST_DENIED - not selectable or single valued menu
@@ -56,12 +56,10 @@ MODULE_ID("$Id: m_item_val.c,v 1.18 2020/12/12 00:38:08 tom Exp $")
MENU_EXPORT(int)
set_item_value(ITEM *item, bool value)
{
- MENU *menu;
-
T((T_CALLED("set_item_value(%p,%d)"), (void *)item, value));
if (item)
{
- menu = item->imenu;
+ MENU *menu = item->imenu;
if ((!(item->opt & O_SELECTABLE)) ||
(menu && (menu->opt & O_ONEVALUE)))
@@ -87,9 +85,9 @@ set_item_value(ITEM *item, bool value)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool item_value(const ITEM *item)
-|
+|
| Description : Return the selection value of the item
|
| Return Values : TRUE - if item is selected
diff --git a/menu/m_item_vis.c b/menu/m_item_vis.c
index 8e409cb864ad..9ae4fdb0a689 100644
--- a/menu/m_item_vis.c
+++ b/menu/m_item_vis.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_vis.c,v 1.19 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_vis.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool item_visible(const ITEM *item)
-|
+|
| Description : A item is visible if it currently appears in the
| subwindow of a posted menu.
|
diff --git a/menu/m_items.c b/menu/m_items.c
index 5b24cb76a01d..ecc5e2f05be0 100644
--- a/menu/m_items.c
+++ b/menu/m_items.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_items.c,v 1.20 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_items.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_items(MENU *menu, ITEM **items)
-|
+|
| Description : Sets the item pointer array connected to menu.
|
| Return Values : E_OK - success
@@ -78,9 +78,9 @@ set_menu_items(MENU *menu, ITEM **items)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM **menu_items(const MENU *menu)
-|
+|
| Description : Returns a pointer to the item pointer array of the menu
|
| Return Values : NULL on error
@@ -93,11 +93,11 @@ menu_items(const MENU *menu)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int item_count(const MENU *menu)
-|
+|
| Description : Get the number of items connected to the menu. If the
-| menu pointer is NULL we return -1.
+| menu pointer is NULL we return -1.
|
| Return Values : Number of items or -1 to indicate error.
+--------------------------------------------------------------------------*/
diff --git a/menu/m_new.c b/menu/m_new.c
index 82c410c6a96a..be175581ba19 100644
--- a/menu/m_new.c
+++ b/menu/m_new.c
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_new.c,v 1.26 2021/02/13 19:43:10 tom Exp $")
+MODULE_ID("$Id: m_new.c,v 1.27 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : MENU* _nc_new_menu(SCREEN*, ITEM **items)
-|
+|
| Description : Creates a new menu connected to the item pointer
| array items and returns a pointer to the new menu.
| The new menu is initialized with the values from the
@@ -92,9 +92,9 @@ NCURSES_SP_NAME(new_menu) (NCURSES_SP_DCLx ITEM **items)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : MENU *new_menu(ITEM **items)
-|
+|
| Description : Creates a new menu connected to the item pointer
| array items and returns a pointer to the new menu.
| The new menu is initialized with the values from the
@@ -111,10 +111,10 @@ new_menu(ITEM **items)
#endif
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int free_menu(MENU *menu)
-|
-| Description : Disconnects menu from its associated item pointer
+| Facility : libnmenu
+| Function : int free_menu(MENU *menu)
+|
+| Description : Disconnects menu from its associated item pointer
| array and frees the storage allocated for the menu.
|
| Return Values : E_OK - success
diff --git a/menu/m_pad.c b/menu/m_pad.c
index 88dad151d6ff..008e19a79cdd 100644
--- a/menu/m_pad.c
+++ b/menu/m_pad.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_pad.c,v 1.16 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_pad.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
/* Macro to redraw menu if it is posted and changed */
#define Refresh_Menu(menu) \
@@ -49,11 +49,11 @@ MODULE_ID("$Id: m_pad.c,v 1.16 2020/12/12 00:38:14 tom Exp $")
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_pad(MENU* menu, int pad)
-|
+|
| Description : Set the character to be used to separate the item name
-| from its description. This must be a printable
+| from its description. This must be a printable
| character.
|
| Return Values : E_OK - success
@@ -79,9 +79,9 @@ set_menu_pad(MENU *menu, int pad)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int menu_pad(const MENU *menu)
-|
+|
| Description : Return the value of the padding character
|
| Return Values : The pad character
diff --git a/menu/m_pattern.c b/menu/m_pattern.c
index 58047df218d4..6fbef236f2e6 100644
--- a/menu/m_pattern.c
+++ b/menu/m_pattern.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_pattern.c,v 1.19 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_pattern.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *menu_pattern(const MENU *menu)
-|
+|
| Description : Return the value of the pattern buffer.
|
| Return Values : NULL - if there is no pattern buffer allocated
@@ -61,9 +61,9 @@ menu_pattern(const MENU *menu)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_pattern(MENU *menu, const char *p)
-|
+|
| Description : Set the match pattern for a menu and position to the
| first item that matches.
|
diff --git a/menu/m_post.c b/menu/m_post.c
index bfc633164b49..cb80230433d5 100644
--- a/menu/m_post.c
+++ b/menu/m_post.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020-2021,2022 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_post.c,v 1.34 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_post.c,v 1.38 2022/09/24 09:38:44 tom Exp $")
/*---------------------------------------------------------------------------
| Facility : libnmenu
@@ -58,7 +58,6 @@ _nc_Post_Item(const MENU *menu, const ITEM *item)
int count = 0;
bool isfore = FALSE, isback = FALSE, isgrey = FALSE;
int name_len;
- int desc_len;
assert(menu->win);
@@ -132,6 +131,7 @@ _nc_Post_Item(const MENU *menu, const ITEM *item)
{
int m = menu->spc_desc / 2;
int cy = -1, cx = -1;
+ int desc_len;
for (ch = ' ', i = 0; i < menu->spc_desc; i++)
{
@@ -201,9 +201,8 @@ MENU_EXPORT(void)
_nc_Draw_Menu(const MENU *menu)
{
ITEM *item = menu->items[0];
- ITEM *lasthor, *lastvert;
+ ITEM *lastvert;
ITEM *hitem;
- int y = 0;
chtype s_bkgd;
assert(item && menu->win);
@@ -215,43 +214,50 @@ _nc_Draw_Menu(const MENU *menu)
lastvert = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : item;
- do
+ if (item != NULL)
{
- wmove(menu->win, y, 0);
-
- hitem = item;
- lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : hitem;
+ int y = 0;
do
{
- _nc_Post_Item(menu, hitem);
+ ITEM *lasthor;
- wattron(menu->win, (int)menu->back);
- if (((hitem = hitem->right) != lasthor) && hitem)
+ wmove(menu->win, y, 0);
+
+ hitem = item;
+ lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : hitem;
+
+ do
{
- int i, j, cy, cx;
- chtype ch = ' ';
+ _nc_Post_Item(menu, hitem);
- getyx(menu->win, cy, cx);
- for (j = 0; j < menu->spc_rows; j++)
+ wattron(menu->win, (int)menu->back);
+ if (((hitem = hitem->right) != lasthor) && hitem)
{
- wmove(menu->win, cy + j, cx);
- for (i = 0; i < menu->spc_cols; i++)
+ int i, j, cy, cx;
+ chtype ch = ' ';
+
+ getyx(menu->win, cy, cx);
+ for (j = 0; j < menu->spc_rows; j++)
{
- waddch(menu->win, ch);
+ wmove(menu->win, cy + j, cx);
+ for (i = 0; i < menu->spc_cols; i++)
+ {
+ waddch(menu->win, ch);
+ }
}
+ wmove(menu->win, cy, cx + menu->spc_cols);
}
- wmove(menu->win, cy, cx + menu->spc_cols);
}
- }
- while (hitem && (hitem != lasthor));
- wattroff(menu->win, (int)menu->back);
+ while (hitem && (hitem != lasthor));
+ wattroff(menu->win, (int)menu->back);
- item = item->down;
- y += menu->spc_rows;
+ item = item->down;
+ y += menu->spc_rows;
+ }
+ while (item && (item != lastvert));
}
- while (item && (item != lastvert));
}
/*---------------------------------------------------------------------------
@@ -283,7 +289,6 @@ post_menu(MENU *menu)
if (menu->items && *(menu->items))
{
- int y;
int h = 1 + menu->spc_rows * (menu->rows - 1);
WINDOW *win = Get_Menu_Window(menu);
@@ -291,7 +296,8 @@ post_menu(MENU *menu)
if ((menu->win = newpad(h, menu->width)))
{
- y = (maxy >= h) ? h : maxy;
+ int y = (maxy >= h) ? h : maxy;
+
if (y >= menu->height)
y = menu->height;
if (!(menu->sub = subpad(menu->win, y, menu->width, 0, 0)))
diff --git a/menu/m_req_name.c b/menu/m_req_name.c
index 7d1e7bf5d106..c72116fa4aff 100644
--- a/menu/m_req_name.c
+++ b/menu/m_req_name.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,7 +38,7 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_req_name.c,v 1.25 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: m_req_name.c,v 1.27 2021/06/17 21:11:08 tom Exp $")
#define DATA(s) { s }
@@ -66,9 +66,9 @@ static const char request_names[MAX_MENU_COMMAND - MIN_MENU_COMMAND + 1][14] =
#define A_SIZE (sizeof(request_names)/sizeof(request_names[0]))
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : const char * menu_request_name (int request);
-|
+|
| Description : Get the external name of a menu request.
|
| Return Values : Pointer to name - on success
@@ -88,9 +88,9 @@ menu_request_name(int request)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int menu_request_by_name (const char *str);
-|
+|
| Description : Search for a request with this name.
|
| Return Values : Request Id - on success
@@ -103,12 +103,13 @@ menu_request_by_name(const char *str)
to run sequentially through it.
*/
size_t i = 0;
- char buf[16];
T((T_CALLED("menu_request_by_name(%s)"), _nc_visbuf(str)));
if (str != 0 && (i = strlen(str)) != 0)
{
+ char buf[16];
+
if (i > sizeof(buf) - 2)
i = sizeof(buf) - 2;
memcpy(buf, str, i);
diff --git a/menu/m_scale.c b/menu/m_scale.c
index 0067ae76a1c9..9e7f81d515ee 100644
--- a/menu/m_scale.c
+++ b/menu/m_scale.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,14 +38,14 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_scale.c,v 1.13 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_scale.c,v 1.14 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int scale_menu(const MENU *menu)
-|
+|
| Description : Returns the minimum window size necessary for the
-| subwindow of menu.
+| subwindow of menu.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid menu pointer
diff --git a/menu/m_sub.c b/menu/m_sub.c
index 5f898b0f7766..a055245bf49c 100644
--- a/menu/m_sub.c
+++ b/menu/m_sub.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_sub.c,v 1.15 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_sub.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_sub(MENU *menu, WINDOW *win)
-|
+|
| Description : Sets the subwindow of the menu.
|
| Return Values : E_OK - success
@@ -82,9 +82,9 @@ set_menu_sub(MENU *menu, WINDOW *win)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : WINDOW* menu_sub(const MENU *menu)
-|
+|
| Description : Returns a pointer to the subwindow of the menu
|
| Return Values : NULL on error, otherwise a pointer to the window
diff --git a/menu/m_win.c b/menu/m_win.c
index 72f72ad0cc90..4bb64e6a6daa 100644
--- a/menu/m_win.c
+++ b/menu/m_win.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -38,12 +38,12 @@
#include "menu.priv.h"
-MODULE_ID("$Id: m_win.c,v 1.20 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_win.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_win(MENU *menu, WINDOW *win)
-|
+|
| Description : Sets the window of the menu.
|
| Return Values : E_OK - success
@@ -82,9 +82,9 @@ set_menu_win(MENU *menu, WINDOW *win)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : WINDOW* menu_win(const MENU*)
-|
+|
| Description : Returns pointer to the window of the menu
|
| Return Values : NULL on error, otherwise pointer to window