X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fcurses.priv.h;h=89bc4a709663c1ed26d52c4a04f82f5fb8838b44;hp=46430e8acd109109adeb4ee8a71de25b76f526f8;hb=7d6371e47006c8aef4ac94f52998a35b03bf89cf;hpb=02c4e383be9337e73a0e75844dfd1047745adb28 diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 46430e8a..89bc4a70 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -34,7 +34,7 @@ ****************************************************************************/ /* - * $Id: curses.priv.h,v 1.599 2018/04/07 21:47:46 tom Exp $ + * $Id: curses.priv.h,v 1.604 2018/06/30 21:59:10 tom Exp $ * * curses.priv.h * @@ -71,7 +71,7 @@ extern "C" { #include #endif -#if HAVE_SYS_BSDTYPES_H +#if HAVE_SYS_BSDTYPES_H && !(defined(_WIN32) || defined(_WIN64)) #include /* needed for ISC */ #endif @@ -184,7 +184,7 @@ extern int errno; * the path separator in configure doesn't work properly. So, if building * for MinGW, we enforce the correct Windows PATH separator */ -#ifdef __MINGW32__ +#ifdef _WIN32 # ifdef NCURSES_PATHSEP # undef NCURSES_PATHSEP # endif @@ -1658,7 +1658,7 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; /* FreeAndNull() is not a comma-separated expression because some compilers * do not accept a mixture of void with values. */ -#define FreeAndNull(p) free(p); p = 0 +#define FreeAndNull(p) do { free(p); p = 0; } while (0) #include @@ -1667,14 +1667,18 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; * tries to limp along after a failure. */ #define TYPE_MALLOC(type, size, name) \ - name = typeMalloc(type, size); \ - if (name == 0) \ - _nc_err_abort(MSG_NO_MEMORY) + do { \ + name = typeMalloc(type, size); \ + if (name == 0) \ + _nc_err_abort(MSG_NO_MEMORY); \ + } while (0) #define TYPE_REALLOC(type, size, name) \ - name = typeRealloc(type, size, name); \ - if (name == 0) \ - _nc_err_abort(MSG_NO_MEMORY) + do { \ + name = typeRealloc(type, size, name); \ + if (name == 0) \ + _nc_err_abort(MSG_NO_MEMORY); \ + } while (0) /* * TTY bit definition for converting tabs to spaces. @@ -1747,7 +1751,7 @@ extern NCURSES_EXPORT(void) _nc_locked_tracef (const char *, ...) GCC_PRINTFLIKE typedef void VoidFunc(void); #define TR_FUNC(value) ((const char*) (value)) -#define NonNull(s) ((s) != 0 ? s : "") +#define NonNull(s) ((s) != 0 ? s : "") #define returnAttr(code) TRACE_RETURN(code,attr_t) #define returnBits(code) TRACE_RETURN(code,unsigned) @@ -2209,11 +2213,9 @@ extern NCURSES_EXPORT(const TERMTYPE2 *) _nc_fallback2 (const char *); #if NCURSES_EXT_NUMBERS extern NCURSES_EXPORT(void) _nc_copy_termtype2 (TERMTYPE2 *, const TERMTYPE2 *); extern NCURSES_EXPORT(void) _nc_export_termtype2(TERMTYPE *, const TERMTYPE2 *); -extern NCURSES_EXPORT(void) _nc_import_termtype2(TERMTYPE2 *, const TERMTYPE *); #else #define _nc_copy_termtype2(dst,src) _nc_copy_termtype((dst),(src)) #define _nc_export_termtype2(dst,src) /* nothing */ -#define _nc_import_termtype2(dst,src) /* nothing */ #define _nc_free_termtype2(t) _nc_free_termtype(t) /* also... */ #define _nc_read_entry2 _nc_read_entry @@ -2269,7 +2271,7 @@ extern NCURSES_EXPORT(int) _nc_eventlist_timeout(_nc_eventlist *); */ #if USE_WIDEC_SUPPORT -#if defined(__MINGW32__) +#if defined(_WIN32) /* * MinGW has wide-character functions, but they do not work correctly. */ @@ -2284,7 +2286,7 @@ extern int __MINGW_NOTHROW _nc_mbtowc(wchar_t *, const char *, size_t); extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t); #define mblen(s,n) _nc_mblen(s, n) -#endif /* __MINGW32__ */ +#endif /* _WIN32 */ #if HAVE_MBTOWC && HAVE_MBLEN #define reset_mbytes(state) IGNORE_RC(mblen(NULL, (size_t) 0)), IGNORE_RC(mbtowc(NULL, NULL, (size_t) 0))