X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fm_format.c;h=65adfc6bfcb0827b4263340f49e2507073e7cc3e;hp=773cb27e774fc16f6da47390b998899d7040b0c2;hb=56a81c7e79f73d397cc8074401d039f59c34cad5;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8 diff --git a/menu/m_format.c b/menu/m_format.c index 773cb27e..65adfc6b 100644 --- a/menu/m_format.c +++ b/menu/m_format.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * + * 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 * * copy of this software and associated documentation files (the * @@ -37,7 +38,7 @@ #include "menu.priv.h" -MODULE_ID("$Id: m_format.c,v 1.15 2004/12/11 23:11:21 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)) @@ -55,18 +56,19 @@ MODULE_ID("$Id: m_format.c,v 1.15 2004/12/11 23:11:21 tom Exp $") | E_NOT_CONNECTED - there are no items connected | E_POSTED - the menu is already posted +--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_format(MENU * menu, int rows, int cols) +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)"), menu, rows, cols)); + T((T_CALLED("set_menu_format(%p,%d,%d)"), (void *)menu, rows, cols)); if (rows < 0 || cols < 0) RETURN(E_BAD_ARGUMENT); if (menu) { + int total_rows, total_cols; + if (menu->status & _POSTED) RETURN(E_POSTED); @@ -81,8 +83,8 @@ set_menu_format(MENU * menu, int rows, int cols) if (menu->pattern) Reset_Pattern(menu); - menu->frows = rows; - menu->fcols = cols; + menu->frows = (short)rows; + menu->fcols = (short)cols; assert(rows > 0 && cols > 0); total_rows = (menu->nitems - 1) / cols + 1; @@ -90,21 +92,21 @@ set_menu_format(MENU * menu, int rows, int cols) minimum(menu->nitems, cols) : (menu->nitems - 1) / total_rows + 1; - menu->rows = total_rows; - menu->cols = total_cols; - menu->arows = minimum(total_rows, rows); + menu->rows = (short)total_rows; + menu->cols = (short)total_cols; + menu->arows = (short)minimum(total_rows, rows); menu->toprow = 0; menu->curitem = *(menu->items); assert(menu->curitem); - menu->status |= _LINK_NEEDED; + SetStatus(menu, _LINK_NEEDED); _nc_Calculate_Item_Length_and_Width(menu); } else { if (rows > 0) - _nc_Default_Menu.frows = rows; + _nc_Default_Menu.frows = (short)rows; if (cols > 0) - _nc_Default_Menu.fcols = cols; + _nc_Default_Menu.fcols = (short)cols; } RETURN(E_OK); @@ -119,8 +121,8 @@ set_menu_format(MENU * menu, int rows, int cols) | | Return Values : - +--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -menu_format(const MENU * menu, int *rows, int *cols) +MENU_EXPORT(void) +menu_format(const MENU *menu, int *rows, int *cols) { if (rows) *rows = Normalize_Menu(menu)->frows;