ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/strlcpy.c
Revision: 2.2
Committed: Fri May 4 21:22:44 2018 UTC (5 years, 11 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad5R2
Changes since 2.1: +8 -7 lines
Log Message:
Added compatible declarations for strlcpy() and strlcat()

File Contents

# Content
1 #ifndef lint
2 static const char RCSid[] = "$Id: strlcpy.c,v 2.1 2018/01/17 22:36:44 greg Exp $";
3 #endif
4 /*
5 * String copy routines similar to strncpy
6 */
7
8 #include "copyright.h"
9 #include "rtio.h"
10
11 size_t
12 strlcpy(char *dst, const char *src, size_t siz)
13 {
14 size_t n = siz;
15
16 while (--n > 0)
17 if (!(*dst++ = *src++))
18 return(siz-1-n);
19 *dst = '\0';
20 return(siz-1);
21 }
22
23 size_t
24 strlcat(char *dst, const char *src, size_t siz)
25 {
26 size_t n = siz;
27
28 while (*dst && --n > 0)
29 ++dst;
30 if (n <= 0)
31 return(siz);
32 return(siz-n + strlcpy(dst, src, n));
33 }