X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fmf_common.h;h=fcbd565c5a2fbe8976db7023cb381faa83c2a3c7;hp=115d6a815e0631f54893ec5091210435fcd3ff5d;hb=2db461ea0b1b29c142e3000d830b520c946e385b;hpb=ba39fbc2e0cee4681395df4079d9e61c27262132 diff --git a/menu/mf_common.h b/menu/mf_common.h index 115d6a81..fcbd565c 100644 --- a/menu/mf_common.h +++ b/menu/mf_common.h @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 1998-2005,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 * @@ -30,7 +31,7 @@ * Author: Juergen Pfeifer, 1995,1997 * ****************************************************************************/ -/* $Id: mf_common.h,v 0.23 2012/03/10 23:43:41 tom Exp $ */ +/* $Id: mf_common.h,v 0.25 2020/02/02 23:34:34 tom Exp $ */ /* Common internal header for menu and form library */ @@ -82,13 +83,16 @@ extern int errno; #define _POSTED (0x01U) /* menu or form is posted */ #define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */ +#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask) +#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask)) + /* Call object hook */ #define Call_Hook( object, handler ) \ if ( (object) != 0 && ((object)->handler) != (void *) 0 )\ {\ - (object)->status |= (unsigned short) (_IN_DRIVER);\ + SetStatus(object, _IN_DRIVER);\ (object)->handler(object);\ - (object)->status &= (unsigned short) (~_IN_DRIVER);\ + ClrStatus(object, _IN_DRIVER);\ } #endif /* MF_COMMON_H_incl */