MCPcopy Index your code
hub / github.com/F-Stack/f-stack / strlcpy

Function strlcpy

tools/compat/strlcpy.c:26–50  ·  view source on GitHub ↗

* Copy src to string dst of size siz. At most siz-1 characters * will be copied. Always NUL terminates (unless siz == 0). * Returns strlen(src); if retval >= siz, truncation occurred. */

Source from the content-addressed store, hash-verified

24 * Returns strlen(src); if retval >= siz, truncation occurred.
25 */
26size_t
27strlcpy(char * __restrict dst, const char * __restrict src, size_t siz)
28{
29 char *d = dst;
30 const char *s = src;
31 size_t n = siz;
32
33 /* Copy as many bytes as will fit */
34 if (n != 0) {
35 while (--n != 0) {
36 if ((*d++ = *s++) == '\0')
37 break;
38 }
39 }
40
41 /* Not enough room in dst, add NUL and traverse rest of src */
42 if (n == 0) {
43 if (siz != 0)
44 *d = '\0'; /* NUL-terminate dst */
45 while (*s++)
46 ;
47 }
48
49 return(s - src - 1); /* count does not include NUL */
50}

Callers 15

if_nametoindexFunction · 0.70
dumpFunction · 0.50
ether_strFunction · 0.50
ifinfoFunction · 0.50
rtrlistFunction · 0.50
plistFunction · 0.50
pfx_flushFunction · 0.50
rtr_flushFunction · 0.50
harmonize_rtrFunction · 0.50
setdefifFunction · 0.50
getdefifFunction · 0.50
parse_ltFunction · 0.50

Calls

no outgoing calls

Tested by 14

gethostnameFunction · 0.40
gethostnameFunction · 0.40
mainFunction · 0.40
setup_acl_pipelineFunction · 0.40
test_distributorFunction · 0.40
get_hugepage_pathFunction · 0.40
test_setup_com_bufsFunction · 0.40
process_dupFunction · 0.40