/****************************************************************************
- * 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 *
/****************************************************************************
* 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
*/
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) { \
#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>
#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
*/