]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/curses.priv.h
ncurses 6.5 - patch 20240519
[ncurses.git] / ncurses / curses.priv.h
index 29b8b661fe089f3295c2979a821ae3b7e63421e1..6d0dbcdf14bc32ff0b35bb4d2750cf1304e680d3 100644 (file)
@@ -35,7 +35,7 @@
  ****************************************************************************/
 
 /*
- * $Id: curses.priv.h,v 1.685 2024/02/24 18:46:40 tom Exp $
+ * $Id: curses.priv.h,v 1.689 2024/05/11 19:05:45 tom Exp $
  *
  *     curses.priv.h
  *
@@ -135,6 +135,7 @@ extern int errno;
 
 #ifndef PRIxPTR
 # define PRIxPTR       "lx"
+# undef CASTxPTR
 # define CASTxPTR(n)    (long)(void*)(n)
 #endif
 
@@ -875,6 +876,12 @@ typedef int (*TYPE_Gpm_GetEvent) (Gpm_Event *);
  */
 #define MAX_DELAY_MSECS 30000
 
+/*
+ * Limit screen dimensions read from environment variables.
+ */
+#define MAX_ENV_LINES  512
+#define MAX_ENV_COLUMNS        512
+
 /*
  * When converting from terminfo to termcap, check for cases where we can trim
  * octal escapes down to 2-character form.  It is useful for terminfo format
@@ -2249,7 +2256,7 @@ extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
 
 #if defined(_NC_WINDOWS) || defined(_NC_MINGW)
 /* see wcwidth.c */
-extern NCURSES_EXPORT(int) mk_wcwidth(wchar_t);
+extern NCURSES_EXPORT(int) mk_wcwidth(uint32_t);
 #define wcwidth(ucs) _nc_wcwidth(ucs)
 #endif
 
@@ -2530,6 +2537,14 @@ extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_TINFO_DRIVER;
 #define NC_ISATTY(fd) isatty(fd)
 #endif
 
+/*
+ * Perhaps not "real" but possibly not "fake".
+ */
+#define IsRealTty(fd,value) \
+       (NC_ISATTY(fd) \
+        && (value = ttyname(fd)) != NULL \
+        && strncmp(value, "/dev/pts/", 9))
+
 #ifdef USE_TERM_DRIVER
 #  define IsTermInfo(sp)       ((TCBOf(sp) != 0) && ((TCBOf(sp)->drv->isTerminfo)))
 #  define HasTInfoTerminal(sp) ((0 != TerminalOf(sp)) && IsTermInfo(sp))