]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/test.priv.h
ncurses 6.4 - patch 20230415
[ncurses.git] / test / test.priv.h
index e94e5740678e976017fbfbd8d701dda93b64e7f6..d0a2a9f7178a6b65bb7bafd8afef62924f7af9e8 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey                                *
+ * Copyright 2018-2022,2023 Thomas E. Dickey                                *
  * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -30,7 +30,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.206 2022/12/04 00:08:15 tom Exp $ */
+/* $Id: test.priv.h,v 1.213 2023/04/15 21:44:58 tom Exp $ */
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
 #define HAVE_CHGAT 0
 #endif
 
+#ifndef HAVE_CLOCK_GETTIME
+#define HAVE_CLOCK_GETTIME 0
+#endif
+
 #ifndef HAVE_COLOR_CONTENT
 #define HAVE_COLOR_CONTENT 0
 #endif
 #define NO_LEAKS 0
 #endif
 
+#ifndef HAVE__NC_TPARM_ANALYZE
+#define HAVE__NC_TPARM_ANALYZE 0
+#endif
+
 /*
  * Workaround for HPUX
  */
@@ -740,9 +748,11 @@ static char *version_common(char **argv) { \
        char *base = argv[0]; \
        char *leaf = strrchr(base, '/'); \
        char *result = malloc(strlen(base) + 80); \
-       if (leaf++ == NULL) leaf = base; \
-       sprintf(result, "%.20s: ", leaf); \
-       format_version(result + strlen(result)); \
+       if (result != NULL) { \
+           if (leaf++ == NULL) leaf = base; \
+           sprintf(result, "%.20s: ", leaf); \
+           format_version(result + strlen(result)); \
+       } \
        return result; \
 } \
 static void show_version(char **argv) { \
@@ -986,7 +996,9 @@ extern int TABSIZE;
 
 #define UChar(c)    ((unsigned char)(c))
 
+#ifndef SIZEOF
 #define SIZEOF(table)  (sizeof(table)/sizeof(table[0]))
+#endif
 
 #if defined(NCURSES_VERSION) && HAVE_NC_ALLOC_H
 #include <nc_alloc.h>
@@ -1078,6 +1090,26 @@ extern int TABSIZE;
 #endif
 #endif
 
+#if HAVE_CLOCK_GETTIME
+# define GetClockTime(t) clock_gettime(CLOCK_REALTIME, t)
+# define TimeType struct timespec
+# define TimeScale 1000000000L         /* 1e9 */
+# define ElapsedSeconds(b,e) \
+           (double) (((e)->tv_sec - (b)->tv_sec) \
+                   + ((e)->tv_nsec - (b)->tv_nsec) / TimeScale)
+#elif HAVE_GETTIMEOFDAY
+# define GetClockTime(t) gettimeofday(t, 0)
+# define TimeType struct timeval
+# define TimeScale 1000000L            /* 1e6 */
+# define ElapsedSeconds(b,e) \
+           (double) (((e)->tv_sec - (b)->tv_sec) \
+                   + ((e)->tv_usec - (b)->tv_usec) / TimeScale)
+#else
+# define TimeType time_t
+# define GetClockTime(t) time((time_t*)0)
+# define ElapsedSeconds(b,e) (double)((e) - (b))
+#endif
+
 /*
  * Ultrix 3.1
  */