X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=test%2Ftest.priv.h;h=a901185b8df04832530d68439c2fb78e4ff835e3;hb=382c1d0c3c8959d2e5ffb69e86469d00937aa4ae;hp=555c8425bada2459bfad008b3444af3b164a8dad;hpb=88595a127ec2e56af0875eb04e0f2396d6d121c5;p=ncurses.git diff --git a/test/test.priv.h b/test/test.priv.h index 555c8425..a901185b 100644 --- a/test/test.priv.h +++ b/test/test.priv.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2018-2022,2023 Thomas E. Dickey * + * Copyright 2018-2023,2024 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.216 2023/04/23 23:38:22 tom Exp $ */ +/* $Id: test.priv.h,v 1.218 2024/02/10 14:40:03 tom Exp $ */ #ifndef __TEST_PRIV_H #define __TEST_PRIV_H 1 @@ -752,25 +752,27 @@ extern int optind; ," -V show version of curses" #if HAVE_CURSES_VERSION -#define format_version(buffer) strcpy(buffer, curses_version()) +#define format_version(buffer, size) strcpy(buffer, curses_version()) #elif defined(NCURSES_VERSION_MAJOR) && defined(NCURSES_VERSION_MINOR) && defined(NCURSES_VERSION_PATCH) -#define format_version(buffer) sprintf(buffer, "ncurses %d.%d.%d", \ - NCURSES_VERSION_MAJOR, \ - NCURSES_VERSION_MINOR, \ - NCURSES_VERSION_PATCH) +#define format_version(buffer, size) \ + _nc_SPRINTF(buffer, _nc_SLIMIT(size) "ncurses %d.%d.%d", \ + NCURSES_VERSION_MAJOR, \ + NCURSES_VERSION_MINOR, \ + NCURSES_VERSION_PATCH) #else -#define format_version(buffer) strcpy(buffer, "ncurses-examples") +#define format_version(buffer, size) strcpy(buffer, "ncurses-examples") #endif #define VERSION_COMMON() \ static char *version_common(char **argv) { \ char *base = argv[0]; \ - char *leaf = strrchr(base, '/'); \ - char *result = malloc(strlen(base) + 80); \ + char *part = strrchr(base, '/'); \ + size_t need = strlen(base) + 80; \ + char *result = malloc(need); \ if (result != NULL) { \ - if (leaf++ == NULL) leaf = base; \ - sprintf(result, "%.20s: ", leaf); \ - format_version(result + strlen(result)); \ + if (part++ == NULL) part = base; \ + _nc_SPRINTF(result, _nc_SLIMIT(need) "%.20s: ", part); \ + format_version(result + strlen(result), need - strlen(result)); \ } \ return result; \ } \ @@ -1112,14 +1114,14 @@ extern int TABSIZE; #if HAVE_CLOCK_GETTIME # define GetClockTime(t) clock_gettime(CLOCK_REALTIME, t) # define TimeType struct timespec -# define TimeScale 1000000000L /* 1e9 */ +# 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 TimeScale 1000000L /* 1e6 */ # define ElapsedSeconds(b,e) \ (double) (((e)->tv_sec - (b)->tv_sec) \ + ((e)->tv_usec - (b)->tv_usec) / TimeScale)