@@ -182,22 +182,31 @@ static char *screen_encoding = NULL;
182182
183183/* Utility Macros */
184184#define PyCursesSetupTermCalled \
185- if (initialised_setupterm != TRUE) { \
186- PyErr_SetString(PyCursesError, \
187- "must call (at least) setupterm() first"); \
188- return 0; }
185+ do { \
186+ if (initialised_setupterm != TRUE) { \
187+ PyErr_SetString(PyCursesError, \
188+ "must call (at least) setupterm() first"); \
189+ return 0; \
190+ } \
191+ } while (0)
189192
190- #define PyCursesInitialised \
191- if (initialised != TRUE) { \
192- PyErr_SetString(PyCursesError, \
193- "must call initscr() first"); \
194- return 0; }
193+ #define PyCursesInitialised \
194+ do { \
195+ if (initialised != TRUE) { \
196+ PyErr_SetString(PyCursesError, \
197+ "must call initscr() first"); \
198+ return 0; \
199+ } \
200+ } while (0)
195201
196202#define PyCursesInitialisedColor \
197- if (initialisedcolors != TRUE) { \
198- PyErr_SetString(PyCursesError, \
199- "must call start_color() first"); \
200- return 0; }
203+ do { \
204+ if (initialisedcolors != TRUE) { \
205+ PyErr_SetString(PyCursesError, \
206+ "must call start_color() first"); \
207+ return 0; \
208+ } \
209+ } while (0)
201210
202211/* Utility Functions */
203212
@@ -2633,12 +2642,12 @@ PyTypeObject PyCursesWindow_Type = {
26332642
26342643#define NoArgNoReturnFunctionBody (X ) \
26352644{ \
2636- PyCursesInitialised \
2645+ PyCursesInitialised; \
26372646 return PyCursesCheckERR(X(), # X); }
26382647
26392648#define NoArgOrFlagNoReturnFunctionBody (X , flag ) \
26402649{ \
2641- PyCursesInitialised \
2650+ PyCursesInitialised; \
26422651 if (flag) \
26432652 return PyCursesCheckERR(X(), # X); \
26442653 else \
@@ -2647,23 +2656,23 @@ PyTypeObject PyCursesWindow_Type = {
26472656
26482657#define NoArgReturnIntFunctionBody (X ) \
26492658{ \
2650- PyCursesInitialised \
2659+ PyCursesInitialised; \
26512660 return PyLong_FromLong((long) X()); }
26522661
26532662
26542663#define NoArgReturnStringFunctionBody (X ) \
26552664{ \
2656- PyCursesInitialised \
2665+ PyCursesInitialised; \
26572666 return PyBytes_FromString(X()); }
26582667
26592668#define NoArgTrueFalseFunctionBody (X ) \
26602669{ \
2661- PyCursesInitialised \
2670+ PyCursesInitialised; \
26622671 return PyBool_FromLong(X()); }
26632672
26642673#define NoArgNoReturnVoidFunctionBody (X ) \
26652674{ \
2666- PyCursesInitialised \
2675+ PyCursesInitialised; \
26672676 X(); \
26682677 Py_RETURN_NONE; }
26692678
0 commit comments