1 krisbash 1.1 #if !defined(SRC) || !defined(STRLCAT)
2 # error "internal file: do not include!"
3 #endif
4
5 size_t STRLCAT(
6 _Inout_updates_z_(size) DEST* dest,
7 _In_z_ const SRC* src,
8 size_t size)
9 {
10 const SRC* start = src;
11
12 if (size)
13 {
14 DEST* end = dest + size - 1;
15
16 while (*dest && dest != end)
17 dest++;
18
19 while (*src && dest != end)
20 *dest++ = (DEST)*src++;
21
22 krisbash 1.1 *dest = '\0';
23 }
24
25 while (*src)
26 src++;
27
28 return src - start;
29 }
|