return -1;
/* Verify it against strncpy */
+#if __GNUC__ < 8
+ /* GCC 8 debian flunks this one at compile time */
strncpy (dst, src, strlen (src));
/* This better not fail but check anyhow */
return -1;
if (indicator != 0)
return -1;
+#endif
/* limited copy -- strlen src > n, copy up to n */
err = clib_strncpy (dst, "The price of greatness is responsibility.", 10);
if (indicator != 0)
return -1;
/* Verify it against strncpy */
+#if __GNUC__ < 8
+ /* GCC 8 debian flunks this one at compile time */
strncpy (dst, src, strlen (src));
if (strcmp_s (dst, clib_strnlen (dst, sizeof (dst)), src, &indicator) !=
EOK)
return -1;
if (indicator != 0)
return -1;
+#endif
/* zero length copy */
clib_strncpy (old_dst, dst, clib_strnlen (dst, sizeof (dst)));
if (indicator != 0)
return -1;
/* verify it against strncat */
+#if __GNUC__ < 8
+ /* GCC 8 debian flunks this one at compile time */
strcpy_s (dst, sizeof (dst), s1);
strncat (dst, s2, 13);
if (strcmp_s (dst, s1size - 1, "Two things are infinite: the universe ",
return -1;
if (indicator != 0)
return -1;
+#endif
/* negative stuff */
err = strncat_s (0, 0, 0, 1);
if (indicator != 0)
return -1;
/* verify it against strncat */
+#if __GNUC__ < 8
+ /* GCC 8 debian flunks this one at compile time */
strcpy_s (dst, sizeof (dst), s1);
strncat (dst, s2, 13);
if (strcmp_s (dst, s1size - 1, "Two things are infinite: the universe ",
return -1;
if (indicator != 0)
return -1;
+#endif
/* negative stuff */
err = clib_strncat (0, 0, 1);
clib_memset (&ifr, 0, sizeof ifr);
clib_memset (&drvinfo, 0, sizeof drvinfo);
ifr.ifr_data = (char *) &drvinfo;
- strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name) - 1);
+ clib_strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name) - 1);
drvinfo.cmd = ETHTOOL_GDRVINFO;
if (ioctl (fd, SIOCETHTOOL, &ifr) < 0)
continue;
clib_memset (&ifr, 0, sizeof (ifr));
- strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name) - 1);
+ clib_strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name) - 1);
if (ioctl (fd, SIOCGIFFLAGS, &ifr) < 0)
{