X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=include%2Fnc_string.h;h=93cf201507c781a4f395cc4147f11a5cefc51dde;hp=c087a82fb1d8addd3e8f131af0938a460867c5fa;hb=1f7a36fe16b11bb4aab51be89bbc1b0f75936b78;hpb=8b06e371ed1bce3dd6f37138e6becb5e1a562fe0 diff --git a/include/nc_string.h b/include/nc_string.h index c087a82f..93cf2015 100644 --- a/include/nc_string.h +++ b/include/nc_string.h @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 2012 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 2012-2013,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -35,8 +36,12 @@ #include +#if HAVE_BSD_STRING_H +#include +#endif + /* - * $Id: nc_string.h,v 1.3 2012/02/23 10:21:17 tom Exp $ + * $Id: nc_string.h,v 1.8 2020/02/02 23:34:34 tom Exp $ * * String-hacks. Use these macros to stifle warnings on (presumably) correct * uses of strcat, strcpy and sprintf. @@ -49,26 +54,30 @@ */ #ifdef __cplusplus -#define NCURSES_VOID /* nothing */ +#define NCURSES_VOID /* nothing */ #else #define NCURSES_VOID (void) #endif #if USE_STRING_HACKS && HAVE_STRLCAT -#define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),(n)) +#define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,n)) +#define _nc_STRNCAT(d,s,m,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,m)) #else #define _nc_STRCAT(d,s,n) NCURSES_VOID strcat((d),(s)) +#define _nc_STRNCAT(d,s,m,n) NCURSES_VOID strncat((d),(s),(n)) #endif #if USE_STRING_HACKS && HAVE_STRLCPY -#define _nc_STRCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),(n)) +#define _nc_STRCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),NCURSES_CAST(size_t,n)) +#define _nc_STRNCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),NCURSES_CAST(size_t,n)) #else #define _nc_STRCPY(d,s,n) NCURSES_VOID strcpy((d),(s)) +#define _nc_STRNCPY(d,s,n) NCURSES_VOID strncpy((d),(s),(n)) #endif #if USE_STRING_HACKS && HAVE_SNPRINTF #define _nc_SPRINTF NCURSES_VOID snprintf -#define _nc_SLIMIT(n) (n), +#define _nc_SLIMIT(n) NCURSES_CAST(size_t,n), #else #define _nc_SPRINTF NCURSES_VOID sprintf #define _nc_SLIMIT(n) /* nothing */