/* Null pointers comparison */
s = 0;
indicator = clib_strcmp (s, s);
- if (indicator != 0)
- return -1;
- /* verify it against strcmp */
- indicator = strcmp (s, s);
if (indicator != 0)
return -1;
sizeof ("Every moment is a fresh beginning") - 1);
if (v_indicator != 0)
return -1;
- if (v_indicator != indicator)
- return -1;
/* OK, seems to work */
return 0;
{
char src[] = "Those who dare to fail miserably can achieve greatly.";
char dst[100], old_dst[100];
- int indicator;
+ int indicator, i;
size_t s1size = sizeof (dst); // including null
errno_t err;
return -1;
/* n > string len of src */
+ err = clib_memset (dst, 1, sizeof (dst));
+ if (err != EOK)
+ return -1;
+
err = strncpy_s (dst, s1size, src, clib_strnlen (src, sizeof (src)) + 10);
if (err != EOK)
return -1;
if (indicator != 0)
return -1;
+ /* Make sure bytes after strlen(dst) is untouched */
+ for (i = 1 + clib_strnlen (dst, sizeof (dst)); i < sizeof (dst); i++)
+ if (dst[i] != 1)
+ return -1;
+
/* truncation, n >= dmax */
err = strncpy_s (dst, clib_strnlen (src, sizeof (src)), src,
clib_strnlen (src, sizeof (src)));