00001
00002
00003
00004
00005
00006 #include <net-snmp/net-snmp-config.h>
00007
00008 #if !HAVE_STRLCPY
00009
00010 #if HAVE_STRING_H
00011 #include <string.h>
00012 #else
00013 #include <strings.h>
00014 #endif
00015
00016 #include <sys/types.h>
00017
00018
00019
00020
00021
00022
00023
00024 size_t
00025 strlcpy(char *dest, const char *src, size_t len)
00026 {
00027 size_t src_len = strlen(src);
00028 size_t new_len;
00029
00030 if (len == 0) {
00031 return (src_len);
00032 }
00033
00034 if (src_len >= len) {
00035 new_len = len - 1;
00036 } else {
00037 new_len = src_len;
00038 }
00039
00040 memcpy(dest, src, new_len);
00041 dest[new_len] = '\0';
00042 return (src_len);
00043 }
00044
00045 #endif