(file) Return to strlcat.h CVS log (file) (dir) Up to [OMI] / omi / pal

 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              }

ViewCVS 0.9.2