]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - include/nc_string.h
ncurses 6.4 - patch 20240420
[ncurses.git] / include / nc_string.h
index 7e6ccd410cbfe305eb8dfdc8d05b76eb9d1eba7e..546aa0695ba0279c80dc57270a0905389cfa8526 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2012,2013 Free Software Foundation, Inc.                   *
+ * Copyright 2020,2021 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            *
 
 #include <ncurses_cfg.h>
 
+#if HAVE_BSD_STRING_H
+#include <bsd/string.h>
+#endif
+
 /*
- * $Id: nc_string.h,v 1.4 2013/12/15 01:09:19 tom Exp $
+ * $Id: nc_string.h,v 1.9 2021/04/25 00:10:43 tom Exp $
  *
  * String-hacks.  Use these macros to stifle warnings on (presumably) correct
  * uses of strcat, strcpy and sprintf.
 
 #if USE_STRING_HACKS && HAVE_STRLCAT
 #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),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
+#ifdef __cplusplus
 #define _nc_SPRINTF             NCURSES_VOID snprintf
+#else
+#define _nc_SPRINTF             NCURSES_VOID (snprintf)
+#endif
 #define _nc_SLIMIT(n)           NCURSES_CAST(size_t,n),
 #else
 #define _nc_SPRINTF             NCURSES_VOID sprintf